ios 加载大量图片崩溃_iOS 加载过大图片闪退

在使用SDWebImage加载多张高分辨率图片时,可能导致应用崩溃。通过分析,发现图片在内存中占用过大是主要原因。为解决此问题,可以在`sd_imageWithData`方法后对图片进行等比压缩,添加压缩方法并调整图片尺寸,减少内存占用。此外,配合内存缓存清理,可以有效防止内存崩溃。实践证明,这些优化措施使内存变化稳定,提高了应用的稳定性。
摘要由CSDN通过智能技术生成

SDWebImage大家肯定都恨熟悉了,国内外太多的App使用其进行图片加载。

但是最近在使用过程中发现,我用SDWebImage加载多个图片,类似微博动态那种,在加载的过程中。我发现当图片分辨率比较大的时候(不是图片大),加载几张图片就崩溃了。

网上说可以每次加载图片清空memcache,但是效果并不好。

[[SDImageCache sharedImageCache]setValue:nilforKey:@"memCache"];

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

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

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

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

大概是像下面这样NSString*logoString = [_currentDic stringValueForKey:@"team_img"];if(logoString.length>0){    [[SDImageCache sharedImageCache] queryDiskCacheForKey:logoString done:^(UIImage*image, SDImageCacheType cacheType) {if(image) {            [_teamImage setImage:image];        }else{            [_teamImage sd_setImageWithURL:kNSUrl(logoString)                          placeholderImage:IMGNAMED(@"defaultAvatar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值