解决SDWebImage加载多个图片内存崩溃的问题

本文探讨了SDWebImage在加载高分辨率图片时可能导致内存崩溃的问题,提供了解决方案。通过清除缓存、压缩图片以及调整图片处理方式,可以有效防止内存急剧增加,确保应用稳定运行。
摘要由CSDN通过智能技术生成

SDWebImage在使用过程中会出现加载过多的图片导致程序挂掉,此时我们应该做一些处理。类似微博动态那种,在加载的过程中。我发现当图片分辨率比较大的时候(不是图片大),加载几张图片就崩溃了。

1,其实很简单,清除cache,只要在合适的时机去调用它就行,或者在加载到一定的时机去处理。

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

使用之后,内存瞬间下来

2,也有说把使用下面这个方法的地方全部注掉

+ (UIImage*)decodedImageWithImage:(UIImage*)image

但是效果并不明显。同时加载5-7张高分辨率图片还是会立即崩溃

我们使用SDWebimage肯定都会做三件事,一判断本地是否有这张图,二有的时候直接从本地取图片,三没有的时候去网络下载。


大概是像下面这样

[objc]view plaincopy

NSString*logoString = [_currentDicstringValueForKey:@"team_img"];

if(logoString.length>0){

[[SDImageCachesharedImageCache]queryDiskCacheForKey:logoStringdone:^(UIImage*image, SDImageCacheType cacheType) {

if(image) {

[_teamImagesetImage:image];

}else{

[_teamImagesd_setImageWithURL:kNSUrl(logoString)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值