java.lang.RuntimeException: Canvas: trying to draw too large(203212800bytes) bitmap.
1 | java.lang.RuntimeException: Canvas: trying to draw too large(203212800bytes) bitmap. |
异常原因分析:Canvas绘制bitmap需要的内存太大了,OOM了,直接就crash了。
导致原因1:图片太大了,修改图片的大小即可解决。
导致原因2: 图片放的位置不合理,如果只有mipmap-*dpi的几个文件夹,没有drawable-*dpi对应的文件夹,只有默认的drawable文件夹,把图片放到drawable文件夹下
就会导致上面的异常,假如你的设备需要drawable-xxhdpi下的资源,那么只需要把图片从drawable移动到drawable-xxhdpi即可解决.
或者新建drawable-nodpi文件夹,把图片资源移动到drawable-nodpi文件夹即可。
此种情况下Android设备会默认把drawable下的图片资源自动放大n*n,重新生成一个bitmap,然后再加载,然后就出现OOM,crash了。
时刻怀有一颗虔诚之心,乐于分享。知识才更有意义。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步