
作者:字节移动技术——陈奕
背景
去年 9 月份开始,许多用户升级到 iOS 14 之后,线上出现很多 ImageIO 相关堆栈的 Crash 问题,而且公司内几乎所有的 APP 上都有出现,在部分 APP上甚至达到了 Top 3 Crash。
得益于 APM 平台精准数据采集机制和丰富的异常信息现场,我们通过收集到详细的 Crash 日志信息进行分析解决。
问题定位
堆栈信息
从堆栈信息看,是在 ImageIO 解析图片信息的时候 Crash ,并且最后调用的方法都是看起来都是和 INameSpacePrefixMap 相关,推测 Crash 应该是和这个方法 CGImageSourceCopyPropertiesAtIndex 的实现有关。



问题聚合特点
机型集中在 iOS14 以上的版本,同时是在后台出现
分析
从 CrashLog 做一个初步分析
从堆栈信息看,这段代码是图片库在子线程通过
CGImageSourceCopyPropertiesAtIndex解析imageSource中的图片相关信息,然后发生了野指针的 Crash。CGImageSourceCopyPropertiesAtIndex的输入只有一个imageSource,imageSource由图片的 data 生成,调用栈并没有多线程操作,可以排除是多线程操作imageSource、data 导致的 Crash。
iOS14 ImageIO Crash问题分析与解决方案

最低0.47元/天 解锁文章
2万+

被折叠的 条评论
为什么被折叠?



