【Android】Bitmap加载图片错误 java.lang.OutOfMemoryError: bitmap size exceeds VM budget
来源:互联网 发布:游族网络 总经理 编辑:程序博客网 时间:2024/05/16 09:42
今天测试程序的时候出现下面的错误日志信息,程序当场挂掉
07-09 14:11:25.434: W/System.err(4890): java.lang.OutOfMemoryError: bitmap size exceeds VM budget07-09 14:11:25.435: W/System.err(4890): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)07-09 14:11:25.435: W/System.err(4890): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:511)07-09 14:11:25.435: W/System.err(4890): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:325)07-09 14:11:25.435: W/System.err(4890): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:350)
使用Bitmap加载图片的方法是这样的
vipAvatar = (ImageView) findViewById(R.id.vip_avatar); File file = new File(Environment.getExternalStorageDirectory() + IMAGE_FILE_NAME); if (file.exists()) { Bitmap bitmap = BitmapFactory.decodeFile(Environment .getExternalStorageDirectory() + IMAGE_FILE_NAME); Drawable drawable = new BitmapDrawable(bitmap); vipAvatar.setImageDrawable(drawable); }
在使用BitmapFactory.decodeFile的时候出错了,查找原因
android系统限制,只给图片分配8兆的内存,超过就崩,你图片几十KB,可能是压缩格式的,转换成bitmap就是本来的大小。
增加VM的设置不太现实,如果是在模拟器上没问题,但是考虑到真机使用,问题还是要解决的。
这里使用了一种方法,上述情况没有出现,方法是
在退出Activity时,将bitmap回收
@Override protected void onDestroy() { if (bitmap != null && !bitmap.isRecycled()) bitmap.recycle(); super.onDestroy(); }
//////////////////////////////////////////////
原创声明 转载请注明
本文出自 Ray-Ray的博客
文章地址 http://www.cnblogs.com/rayray/p/3180017.html
感谢大家的推荐和收藏
你的支持! 我们的动力!
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 【Android】Bitmap加载图片错误 java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- android java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- android:java.lang.OutOfMemoryError: bitmap size exceeds VM budget---缩略图
- Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- 用Bitmap加载图片资源时,报错java.lang.OutOfMemoryError: bitmap size exceeds VM budget的解决办法
- java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决方法
- CentOS 安装多种解码器打造Linux的全能播放器
- DateTime.Now.ToString()12与24小时制
- ItextWord
- 加速Java应用开发4—模板加速项目开发速度
- spring security
- 【Android】Bitmap加载图片错误 java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 20130709 【南华大学 ACM】 新生赛第二场 【F. Little Sheep and a paper】
- UVa 10879 - Code Refactoring
- POJ 1861/ZOJ 1542 Network
- 初入手势识别(1)
- 完整的struts.xml文件骨架
- GDI+ 性能优化之双缓冲
- Adobe Flex迷你教程 —Flex圆角容器
- linux CentOS FTP /redhat ftp linux ftp 安装vsftp 虚拟用户设置全解