美文网首页
加载超大图直接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