static BOOL SDImageCacheOldShouldDecompressImages = YES;
static BOOL SDImagedownloderOldShouldDecompressImages = YES;
//分别在下面三个方法中加入代码
- (void)viewDidLoad {
[super viewDidLoad];
//设置图片缓存方式 防止图片过大崩溃的情况
SDImageCache *canche = [SDImageCache sharedImageCache];
SDImageCacheOldShouldDecompressImages = canche.config.shouldDecompressImages;
canche.config.shouldDecompressImages = NO;
SDWebImageDownloader *downloder = [SDWebImageDownloader sharedDownloader];
SDImagedownloderOldShouldDecompressImages = downloder.shouldDecompressImages;
downloder.shouldDecompressImages = NO;
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.
[[SDWebImageManager sharedManager].imageCache clear

本文介绍了如何防止使用SDWebImage时因加载大图导致的内存崩溃。通过在`viewDidLoad`、`didReceiveMemoryWarning`和`dealloc`方法中设置`shouldDecompressImages`属性为`NO`,可以避免图片解压缩过程消耗大量内存。同时在`dealloc`方法中恢复默认设置,确保资源释放。
最低0.47元/天 解锁文章
5562

被折叠的 条评论
为什么被折叠?



