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:第一次写简书,排版的问题请忽略

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容