码迷,mamicode.com
首页 > 编程语言 > 详细

java.lang.RuntimeException: Canvas: trying to draw too large(203212800bytes) bitmap.

时间:2017-10-10 16:25:13      阅读:1058      评论:0      收藏:0      [点我收藏+]

标签:androi   内存   原因分析   bytes   需要   crash   trying   导致   解决   

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了。

java.lang.RuntimeException: Canvas: trying to draw too large(203212800bytes) bitmap.

标签:androi   内存   原因分析   bytes   需要   crash   trying   导致   解决   

原文地址:http://www.cnblogs.com/spring87/p/7645625.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!