用sdwebimage下載圖片是很常見的方法,下載到的圖片會自動緩存到本地,下次加載時直接調(diào)用,但是高清圖片也會造成占用內(nèi)存過大的問題,遇到這種問題可以調(diào)用
[[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"]
親測有效,也可以在使用sdwebimage的時候設(shè)置不緩存到內(nèi)存里,使用方法為
?[SDImageCache sharedImageCache].config.shouldCacheImagesInMemory = NO
我在使用sdwebimage從相機下載圖片的時候,設(shè)置的方法如下圖:

下載的圖片sdwebimage會自動保存下來,下載圖片的路徑可以通過如下方法獲取:
NSString *cachekey = [[SDWebImageManager sharedManager] cacheKeyForURL:[NSURL URLWithString:stry]]
?weakSelf.imagePath = [[SDImageCache sharedImageCache] defaultCachePathForKey:cachekey]
清除該URL下緩存的圖片方法為:
[[SDImageCache sharedImageCache] removeImageForKey:stry fromDisk:YES withCompletion:nil]
用sdwebimage下載的圖片設(shè)置imageview的image的時候,如果圖片過大會占用大量內(nèi)存,而且無法釋放,可以用下載好的圖片生成縮略圖,用縮略圖來顯示,這樣內(nèi)存壓力會小很多
ps:第一次寫簡書,排版的問題請忽略