项目中遇到的问题及解决方案

一、项目中有一个全景图片的展示功能,后台返回的全景图尺寸很大,解码导致内存爆涨从而闪退。
1、图片在计算机里存储形式,是二进制文件。
2、使用SDWebImage加载全景图时,它会将NSData解码为UIImage对象,从而导致内存暴涨。
解决方案:通过SDWebImageContextImageThumbnailPixelSize来设置缩略图大小,从而减少内存开销,当然这个比例也需要设置得合理,太小了不清晰,太大了内存还是会暴涨导致闪退。(当然这里还有一个坑,那就是SDWebImage5.8.0及其以前都是设置CGImageSourceCreateThumbnailAtIndex的option参数中的kCGImageSourceCreateThumbnailFromImageIfAbsent为Yes,从而又导致when HEIC/JPEG contains an embed thumbnail but its size is much smaller than provided maxPixelSize的bug, 在5.8.1中已经修复,具体就是将kCGImageSourceCreateThumbnailFromImageIfAbsent改为kCGImageSourceCreateThumbnailFromImageAlways)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容