SDWebimage5.10 加载高清大图时内存暴涨问题解决方案
内存的突然暴涨是由于图片解压缩时需要消耗非常大的内存,低性能手机上尤为明显
可以将图片加载方法再封装一层
- (void)jk_setImageWithURLString:(NSString *)urlandPlaceHolder:(NSString*)placeHolder;
{
if([selfhasChinese:url]) {
url = [urlstringByAddingPercentEncodingWithAllowedCharacters:[NSCharacterSet URLQueryAllowedCharacterSet]];
}
[self sd_setImageWithURL:[NSURL URLWithString:url] placeholderImage:[UIImage imageNamed:placeHolder] options:SDWebImageScaleDownLargeImages | SDWebImageAvoidDecodeImage | SDWebImageHighPriority];
}
主要是SDWebImageScaleDownLargeImages参数,会将60M以下图片调整到适应手机内存限制的大小,SDimageCoderHelper中修改内存限制即可 static CGFloat kDestImageLimitBytes = 60.f * kBytesPerMB;
网友评论