C# Bitmap Dispose |
Yanıt Yaz |
Yazar | |
murat turan
Üye Profili
Özel Mesaj Yolla
Bu kullanıcıya ait mesajları bul
Üyenin Web Sitesie Git
Arkadaş Listeme Ekle
Admin Group Datakent Kayıt Tarihi: 01.Ekim.2003 Bulundugu Yer: Turkey Online: Sitede Değil Gönderilenler: 1798 |
Alıntı Cevapla
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. |
|
Yanıt Yaz |
Forum Atla | Forum İzinleri Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |