我创建了一个使用图像的游戏,我的游戏是纵向和横向模式。 我有2种不同的布局 当我从1个方向切换到另一个方向时,这样做5次6次后,它会产生力关闭错误 错误就像:
引起:java.lang.OutOfMemoryError:位图大小超过VM预算
有人知道解决方案吗?有没有办法清理切换方向的所有图像? 提前谢谢
答案 0 :(得分:1)
我从这个链接得到了解决方案 http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html
每次方向改变时,我都会在imageview中设置大量图像。 我只是使backgorund图像静止并解决了问题
private static Drawable BackgroundP;
private static Drawable BackgroundL;
if (conf.orientation == Configuration.ORIENTATION_LANDSCAPE){
if(BackgroundL == null){
BackgroundL = getResources().getDrawable(R.drawable.backgroundland);
}
} else {
if(BackgroundP == null){
BackgroundP = getResources().getDrawable(R.drawable.backgroundport);
}
}
这只会设置一次抽奖。
希望这对任何人都有帮助。答案 1 :(得分:1)
@djk哦是的,它会加载drawable一次,但也会造成内存泄漏。 本文解释了原因:http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html