你好我正在項目中使用SDWebImage框架,我想下載和緩存圖像,但我認爲我的代碼是在緩存中存儲兩次圖像?有沒有辦法通過一個鍵將圖像存儲在緩存中一次?這是我的代碼。SDWebImage下載圖像並存儲到緩存的密鑰
SDWebImageManager *manager = [SDWebImageManager sharedManager];
[manager downloadWithURL:[NSURL URLWithString:url] options:0 progress:^(NSUInteger receivedSize, long long expectedSize) {
} completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) {
if(image){
NSString *localKey = [NSString stringWithFormat:@"Item-%d", i];
[[SDImageCache sharedImageCache] storeImage:image forKey:localKey];
}
}];
有什麼我錯過了嗎?看起來在我的分配工具中這樣做會佔用大量內存。
你的意思是,如果我們爲每一個(固定下載圖像URL)鍵,它會不會開除下載事件在網絡上?對 ? 它會使用先前的緩存嗎? – 2013-11-28 07:09:42
自從我看了這個以後,過了一段時間,但如果您計劃使用特定的緩存鍵存儲圖像,則在進行下載請求之前,應檢查圖像的[[SDImageCache sharedImageCache]]。如果您沒有它,請使用您的特定密鑰進行存儲,以便下次使用。現在這可能已經改變了,但是如果你要這樣做,你應該使用'SDWebImageDownloader',然後存儲你自己的密鑰。 – Stakenborg 2013-12-02 14:50:39