java.lang.OutOfMemoryError:位图大小超过VM预算-Android我开发了一个在Android上使用大量图片的应用程序。该应用程序运行一次,在屏幕上填充信息(Layouts, Listviews, Textviews, ImageViews(等等)和用户读取信息。没有动画,没有特效或任何东西可以填补记忆。有时抽屉会变。有些是Android资源,有些是保存在sdCard文件夹中的文件。然后用户退出(onDestroy方法被执行,应用程序由VM驻留在内存中,然后在某个时候用户再次进入。每次用户进入应用程序时,我都可以看到内存越来越多,直到用户获得java.lang.OutOfMemoryError.那么,处理许多图像的最佳/正确方法是什么?我应该把它们放在静态方法中,这样它们就不会一直被加载吗?我是否必须以一种特殊的方式清理版面或版面中使用的图像?
3 回答
![?](http://img1.sycdn.imooc.com/54586870000183e302200220-100-100.jpg)
牧羊人nacy
TA贡献1862条经验 获得超7个赞
Bitmap.recycle()
null
Bitmap
public final void setMyBitmap(Bitmap bitmap) { if (this.myBitmap != null) { this.myBitmap.recycle(); } this.myBitmap = bitmap;}
myBitmap
System.gc()
setMyBitmap(null); setMyBitmap(anotherBitmap);
- 3 回答
- 0 关注
- 340 浏览
添加回答
举报
0/150
提交
取消