我创建了一款使用图像的游戏,并且我的游戏处于纵向和横向模式。
我有两种不同的布局
当我从 1 方向切换到其他方向时,执行此操作 5 6 次后,会出现强制关闭错误
错误是这样的:
原因:java.lang.OutOfMemoryError:位图大小超出VM预算
有人知道解决办法吗?有什么方法可以清理切换方向时的所有图像吗?
提前致谢
我从这个链接得到了解决方案http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html
每次方向改变时,我都会在 imageview 中设置很多图像。
我只是将背景图像设为静态并解决问题
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);
}
}
这只会设置一次可绘制。
希望这对任何人都有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)