簡體   English   中英

在UICollectionView中預加載緩存的圖像

[英]Preload cached images in UICollectionView

我使用SDWebImage庫在運行時緩存圖像,我想要的是預加載所有UICollectionViewCell的圖像,因為當我滾動到末尾時沒有可見的閃爍或占位符。是否可以將所有圖像預加載到UICollectionViewCell中。 SDWebImagePrefetcher也。需要幫助。

我建議您使用AFNetworking的UIImageView + AFNetworking類別。 它將自動處理占位符等,並將在后台線程中執行所有操作,確保主線程不會被阻塞。 具體來說,這是您要調用的方法:

- (void)setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholderImage;

您將必須預加載並維護UIImage緩存。 如果用戶從當前位置來回滾動並在后台線程的兩個方向上執行一些合理的預加載,則需要預測將要顯示的圖像。 然后,在collectionView:cellForItemAtIndexPath:首先應檢查它,該圖像已在預加載的緩存中,如果存在,則將其分配給您UIImageView。

還要確保利用dequeueReusableCellWithReuseIdentifier:forIndexPath:方法來獲取要配置的單元格對象

如果確保UIImageView邊界與UIImage尺寸完全匹配,則性能將是最好的。 如果事先知道原始圖像數據的元數據,則可以通過指定比例因子在UIImage創建時進行控制。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM