2010-11-20 6 views
0

Apple's Scrolling örneğine benzer bir UIView oluşturuyorum ve UIImage ve önbelleğe alma ile ilgili bir sorum var; Apple Dokümantasyonunun pratik sonuçlarını tamamen anlayabiliyor muyum bilmiyorum.UIImage initWithContentsOfFile: ve önbelleğe alma

docs ki:

Tartışma Bu yöntem belleğe görüntü verilerini yükler ve purgeable olarak işaretler. Veri temizlenir ve yeniden yüklenmesi gerekiyorsa, görüntü nesnesi bu yolu belirtilen yoldan tekrar yükler.

Pratikte, bu ne anlama geliyor?

Bunu şu şekilde okuyorum: Sistem bellekte az çalışıyorsa, ekranda görüntülenmeyen UIImages temizlenir ve gerektiğinde belirtilen dosyadan yeniden yüklenir.

Şu anda epeyce resim yüklüyorum ve bellek yönetimi konusunda endişeliyim; Sistemin, uygun gördüğü şekilde tasfiye/önbellek bırakabiliyor olsam harika olurdu, ancak bunun etkili bir çözüm olduğundan şüpheliyim. Herhangi bir işaretçi/açıklama için minnettar olurum.

cevap

1

Doğru okuyorsunuz. Resimler uygulamasında çok hızlı gezinerek oynarsanız, bazen uygulamayı yendiğinizi ve bir "yükleme ..." girintisiyle karşılaştığınızı görürsünüz. Bir UITableView ile aynı ... eğer bir uygulama hafızada azalırsa, görüntü silinir ve kullanıcı gerektiğinde yeniden yükler.

Görüntü kaydırma için UIScrollView bellek yönetimi oldukça iyi; Bu durumda bellek yönetimine dikkat etmek için muhtemelen ona güvenebilirsiniz. Kendiniz yapmaya çalışırsanız veya başka bir şekilde, yavaş, ürkek bir UIScrollView riskiyle karşılaşırsınız, ki bu hiç de iyi değildir.