iOS SDWebImage加载大图导致内存崩溃解决方案

时间:2023-03-09 08:03:00
iOS SDWebImage加载大图导致内存崩溃解决方案
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 clearMemory];
[[SDWebImageManager sharedManager].imageCache clearDiskOnCompletion:nil]; } - (void)dealloc { [[SDImageCache sharedImageCache] clearMemory]; SDImageCache *canche = [SDImageCache sharedImageCache];
canche.config.shouldDecompressImages = SDImageCacheOldShouldDecompressImages; SDWebImageDownloader *downloder = [SDWebImageDownloader sharedDownloader];
downloder.shouldDecompressImages = SDImagedownloderOldShouldDecompressImages;
}