Datakent Ana Sayfa
Anasayfa Anasayfa > Diğer bölümler > C# & ASP.NET
  Aktif Konular Aktif Konular RSS: C# Bitmap Dispose
  Yardım Yardım  Hızlı Ara   Kayıt Ol Kayıt Ol  Giriş Giriş

C# Bitmap Dispose

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
murat turan Açılır Menü Göster
Admin Group
Admin Group
Simge
Datakent

Kayıt Tarihi: 01.Ekim.2003
Bulundugu Yer: Turkey
Online: Sitede Değil
Gönderilenler: 1798
  Alıntı murat turan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: C# Bitmap Dispose
    Gönderim Zamanı: 19.Nisan.2015 Saat 10:13
C# Bitmap Dispose edilmesi.

C# ile image dosyaları yükleme vs... işlemleri yapıp da nesneyi dispose ettiğinizde yinede bellekte parçacıklar bırakmaktadır. Bunu c# uygulamanızın bellek yönetimini detaylıca inceleyebileceğiniz SOS ile inceleyip bakabilirsiniz.


bu işlem için bir örnek anlatı.
string fl1 = "D:/tmp/test.tiff";
 
Bitmap bitmap = new Bitmap(fl1);
int count = bitmap.GetFrameCount(FrameDimension.Page);
GCHandle gc_bitmap = GCHandle.Alloc(bitmap, GCHandleType.Normal);
 
for (int i = 0; i < count; i++)
{
    bitmap.SelectActiveFrame(FrameDimension.Page, i);
    System.Threading.Thread.Sleep(1);
}
 
//bitmap dispose ile bellekte ayrılan alandan siliniyor
//fakat azda olsa parçacık bırakıyor
//bu parçacıklarda GC ile tamamen temizleniyor
bitmap.Dispose();
bitmap = null;
gc_bitmap.Free();
GC.Collect();

eğer yok etmek istediğiniz bir BYTE[] türünce obje ise,


GCHandleType.Normal  yazan kısım'ı GCHandleType.Pinned yapmanız yeterli.


Yukarı Dön
 Yanıt Yaz Yanıt Yaz

Forum Atla Forum İzinleri Açılır Menü Göster



Bu Sayfa 0,172 Saniyede Yüklendi. [power by : WebWiz]