美文网首页
加载超大图直接crash没有java的明显报错日志

加载超大图直接crash没有java的明显报错日志

作者: 奥创没电了 | 来源:发表于2019-11-25 14:56 被阅读0次

既然crash了,java层没有明显致命报错,那么一定是在native层。 native报错相当不明显。

看了下,这个大图有 > 10000 x 20000的像素,占用空间 > 17M.

写了demo,发现BitmapFactory.decodeFile(filePath,tmpOptions)正常,而在项目里BitmapFactory.decodeFile(filePath,options); 此处开始报错的.当然,这么大的图,在手机相册,微博等其他应用上也是crash,微信相册没有crash,但是给了个黑屏。

原来是老项目 targetSdkVersion才24,现在新项目普遍都用新的29了,所以小demo里正常,手机相册,微博等这些大型的 "老项目",即使升级,也不敢轻易升级targetSdkVersion版本。

根本原因是,API28以后,bitmap对象解码,放在native层,由C申请/释放内存,对大图的兼容性,比java不知高到哪里去了。别处看过那个代码,暂时没找到,先记录下这个事情。都过去了一个月了。

相关文章

网友评论

      本文标题:加载超大图直接crash没有java的明显报错日志

      本文链接:https://www.haomeiwen.com/subject/jcxjwctx.html