2016-04-07 8 views
0

Büyük resimler yüklerken bellek uyarısı alıyorum, görüntüleri önbelleğe almalıyım, böylece kullanıcı o görüntüyü kaydırırsa, o görüntüyü kaydırmalıdır. SDWebImage kitaplığı kullanıyorum. cell! .productImageView? .sd_setImageWithURL (url)Çok sayıda büyük boyutlu resim indirmem ve tablo görünümünde göstermem gerekiyor mu?

+1

hangi UIImageView görüntüleri – salmancs43

+0

hücre! .productImageView? .sd_setImageWithURL (URL) –

cevap

0

Görüntü görünümünde görüntüleme görüntüsü için ne kullanıyorsunuz? Imaginge imageNamed önbelleğin kendisini koruyor.

+0

hücre! .productImageView? .sd_setImageWithURL (URL) i görüntüyü indirmek zorunda –

0

Lütfen aşağıdaki kodu kullanın.

[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"imageName" ofType:@"png"]]; 

hafıza tüketimlerini yönetmek için size yardımcı Bu irade.

+0

ve ben göstermek zorunda ve daha yüklüyorsunuz kodunuzu göstermek asenkron –

0

Bu kodu deneyin.
1.
Genellikle tavsiye biz bellek sorunları önlemek böylece biz sunucu üzerinde küçük boyutlu resim yükleyebilirsiniz olmasıdır:

NSString *thumbnailImage = objectname.thumbnailUrl; 

    [cell.productImageView sd_setImageWithURL:[NSURL URLWithString:thumbnailImage]]; 
+0

olmalıdır Bu kodu kullanıyorum sadece –

1

sizin senaryoya göre İki öneri var. Resimlerin bir UITableView içinde gösterilmesi durumunda küçük boyutlu veya küçük boyutlu boyutlu bir resim dikkate alınır.
Bununla birlikte, UITableView içinde belirli bir küçük resme dokunduğumuzda daha büyük resim gösterebilir ve detay görünüm denetleyicisine gidebilirsiniz.

2. İkinci olarak görüntüleri indirebilir ve yeniden boyutlandırabilir ve ardından kullanarak önbelleğe almak için NSCache sınıfını kullanabilirsiniz. Durumunuzda olduğu gibi imageWithContentsOfFile kullanılamadığından bazı URL'lerden görüntüler indiriliyorsunuz.
Ancak, indirdikten sonra imageWithContentsOfFile'u kullanabilir veya görüntüleri yeniden boyutlandırabilir ve kendi NSCache'unuzu kullanabilirsiniz.

+0

Görüntüleri sıkıştırıp bir Dizide kaydederek denediğim herhangi bir öğretici sağlayabilir misiniz, ancak bunu senkronize olmayan bir şekilde yapmalıyım. –

İlgili konular