SDWebImage下载图片的内存问题

用sdwebimage下载图片是很常见的方法,下载到的图片会自动缓存到本地,下次加载时直接调用,但是高清图片也会造成占用内存过大的问题,遇到这种问题可以调用

[[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"]


亲测有效,也可以在使用sdwebimage的时候设置不缓存到内存里,使用方法为

 [SDImageCache sharedImageCache].config.shouldCacheImagesInMemory = NO



我在使用sdwebimage从相机下载图片的时候,设置的方法如下图:


下载的图片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下载的图片设置imageview的image的时候,如果图片过大会占用大量内存,而且无法释放,可以用下载好的图片生成缩略图,用缩略图来显示,这样内存压力会小很多


ps:第一次写,排版的问题请忽略

你可能感兴趣的:(SDWebImage下载图片的内存问题)