我在集合視圖中顯示一些圖像,並使用SDWebImage
預取所有這些圖像的縮略圖。核心數據 - 嘗試預取所有行的屬性很慢
我在NSFetchRequest
中使用20的批處理大小,但是當遍歷每個對象以獲取我需要的圖像的url時,批處理大小性能增益會被浪費。重新加載數據需要0.3s而不是0.000295s,這會導致用戶界面明顯延遲。
我試過設置[request setPropertiesToFetch:@[@"propertyName"]]
,但它似乎沒有區別。我想這不是我要找的方法。
有什麼建議嗎?
編輯:
我使用由NSFetchedResultsController
(和代表)的備份數據UICollectionView
源使用。我製作批量爲20的NSFetchRequest
,並通過NS-FRC
取回。我還需要從所有獲取對象獲得的URL列表,即:
for(NSManagedObjectSubclass *object in frc.fetchedObjects)
// this is causing the slow-down, because it's faulting all the objects
// not what you'd want if you have many objects!
{
[urlList addObject:(object.url)]
}
[SDWebImagePrefetcher prefetchUrls:urlList];
// this runs in the background and downloads/gets from cache a list of images
在您的問題中添加一些代碼,但這不夠詳細。 –
你真的在下載圖片嗎?還是將它們存儲在覈心數據中? –
不可以。圖像不以任何方式存儲在覈心數據中。所有的圖像資料都由'SDWebImage'處理,這是一個用於異步下載/緩存/從緩存中加載圖像的庫。我會嘗試在問題中添加一些細節。 –