异常:java.lang.RuntimeException: Canvas: trying to draw too large(161740800bytes) bitmap

今天遇到一个问题,打的包无法在部分手机上安装,出现解析错误的问题,

异常:java.lang.RuntimeException: Canvas: trying to draw too large(161740800bytes) bitmap

不行的手机vivo和小米11Pro,原因是drawable中的启动页的图片太大,把它放到mipmap-xxhdpi文件下问题就解决了

网上查了下,有个说法:如果从项目(而不是从Web)加载图像,应该将图像放在“mipmap文件夹”中,而不是在“可绘制文件夹drawable”中,因为该图像是位图格式的

参考于:https://blog.csdn.net/u011047085/article/details/88179241

可能原因1:图片太大了,修改图片的大小即可解决。

原因2: 图片放的位置不合理,如果只有mipmap-*dpi的几个文件夹,没有drawable-*dpi对应的文件夹,只有默认的drawable文件夹,把图片放到drawable文件夹下 就会导致上面的异常,假如你的设备需要drawable-xxhdpi下的资源,那么只需要把图片从drawable移动到drawable-xxhdpi即可解决.
或者新建drawable-nodpi文件夹,把图片资源移动到drawable-nodpi文件夹即可

参考于:https://blog.csdn.net/qq_42757964/article/details/99680855

原文地址:https://www.cnblogs.com/changyiqiang/p/14874991.html