2019-11-14

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;

你可能感兴趣的:(2019-11-14)