异常:java.lang.RuntimeException: Canvas: trying to draw too large(161740800bytes) bitmap
2023-09-14 08:59:25 时间
现象
今天做一个安卓项目的时候,我使用了10张图片,这10张图片都是放在了drawable目录下。
根据这个错误,我在网上寻找解决问题的方案,然后我放在了mipmap-xxhdpi下结果可以运行。
但是这不是一个很好的解决方案,目前我是降低图片资源的size解决的。
问题分析
从提示错误中,可以看出是canvas问题,也就是绘制问题,属于oncreate生命周期就出现了问题,
原因是too large,在一个绘制周期内没有绘制完成。
解决方案
因为图片太大了,所以如果能够缩小图片大小,这理论上肯定是一种解决方案,而后面我也这么做了,的确成功了。
至于放在mipmap-xxhdpi 就是一个比较玄学的问题了。mipmap一般来说是放在图标的地方,那么打包加载的时候肯定会做
一些处理。至于我为什么没有去过多思考为什么换在mipmap-xxhdpi可行,是因为放在mipmap-xxhdpi下我发现可以运行,但是卡顿。
这不是一个很好的解决方案。正如我所说,压缩图片大小才是一种解决方案,如果有更好的方案,希望能够help me to do best。
相关文章
- java中数组转成list_java定义数组并赋值
- Java异常处理及安装IDEA
- java random函数原理_详解JAVA中Random()函数的用法
- JAVA异常处理实战心得
- HelloWorld的Java代码[通俗易懂]
- java高级工程师面试情景题_Java高级工程师面试题III
- java 时间字符串 转换_java实现时间与字符串之间转换
- java和基岩版区别_我的世界基岩版与Java版有什么区别?「建议收藏」
- java代码大全及详解_Java练级攻略[通俗易懂]
- java 中高级面试题_Java中高级面试题
- Java后台接收参数出现java.lang.Integer cannot be cast to java.lang.Double错误(已解决)[通俗易懂]
- Java面试宝典2017版
- 【说站】java队列抛出异常的介绍
- java定义一个数组并初始化_java中什么是数组
- java解释器虚拟机-Java代码如何运行在Java虚拟机中
- 【Groovy】Groovy 脚本调用 ( Java 类中调用 Groovy 脚本 )
- java搭建Linux环境下的Java SDK(sdk-linux)
- Java多线程12:ReentrantLock中的方法详解编程语言
- Linux重装Java:给你的操作系统新的灵魂(linux重装java)
- Java高效操作MySQL数据库(java写入mysql)
- Linux 下安装Java:快速从零开始(linux 下载java)
- Linux查看Java安装路径:一步一步了解(linux查看java安装路径)
- 异常Java程序捕获Oracle异常从失败中学习(java捕获oracle)
- Java导入Oracle 实现快速数据传输(java导入oracle)
- java实现创建缩略图、伸缩图片比例生成的方法