java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决办法
2011-05-18 16:43
627 查看
bitmap内存不足的解决办法,解决了我现在的问题。
原文:http://www.norkoo.com/show/Mobile_Technology/android/ececkhjijkaifjkigceckefhekdfjg.aspx
android系统中读取位图Bitmap时.分给虚拟机中图片的堆栈大小只有8M。所以不管是如何调用的图片,太多太大虚拟机肯定会报那个错误。超出图片内存预算那个错误.:java.lang.OutOfMemoryError:bitmapsizeexceedsVMbudget
遇到这个问题是因为没有回收资源.
调用上面的代码可以基本解决这个问题.但是千万不要在view中的onDraw()中调用.因为onDraw()方法是系统循环调用.只要图片打开.
系统就不停的调用该方法.
最好的解决方案是在自定义的View中添加一个init()初始化方法的头部调用.或者在构造函数的顶部调用:
原文:http://www.norkoo.com/show/Mobile_Technology/android/ececkhjijkaifjkigceckefhekdfjg.aspx
android系统中读取位图Bitmap时.分给虚拟机中图片的堆栈大小只有8M。所以不管是如何调用的图片,太多太大虚拟机肯定会报那个错误。超出图片内存预算那个错误.:java.lang.OutOfMemoryError:bitmapsizeexceedsVMbudget
遇到这个问题是因为没有回收资源.
1 | public void distoryBitmap(){ |
2 | if ( null !=bmb&&!bmb.isRecycled()) |
3 | bmb.recycle(); |
4 | } |
系统就不停的调用该方法.
最好的解决方案是在自定义的View中添加一个init()初始化方法的头部调用.或者在构造函数的顶部调用:
1 | public class GifView extends View implements Runnable{ |
2 | private Bitmapbmb; |
3 |
4 | public GifView(Contextcontext,InputStreaminputStream){ |
5 | super (context); |
6 | distoryBitmap(); |
7 | bmb=BitmapFactory.decodeStream(is); |
8 | } |
9 | } |
相关文章推荐
- 关于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的解决办法
- 【android】解决因为图片太大引起的内存不足问题,Caused by: java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 转载 Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 完美解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- Android解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 完美解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 完美解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- 完美解决java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- android 内存溢出处理办法(出现java.lang.OutOfMemoryError: bitmap size exceeds VM budget 异常)