Android加载本地大Bitmap文件,解析出来的Bitmap是整张图片是黑色的

问题现象

缓存宽高很大的Bitmap在本地,将这个Bitmap拉到电脑中,后缀改成.png或者.jpg,使用图片浏览器显示正常。然而,使用Android Bitmap解析库解析成Bitmap,用Canvas绘制出来显示全黑。这个现象是概率出现的,不过Bitmap宽高越大,出问题情况越大。

原因分析

我碰到这个问题是因为使用Android PDF解析PDF源文件,将每页PDF解析到ARGB格式的Bitmap缓存在本地,显示时,使用了CompressFormat.JPEG进行解析。ARGB含有alpha通道,使用CompressFormat.JPEG进行解析时,有时会出现异常。

解决方案

将CompressFormat.JPEG改为CompressFormat.PNG

上一篇:Live Photos原理


下一篇:vue限制文件上传大小和上传格式