我有一个 Android 游戏,它有一个菜单 Activity ,然后是另一个游戏 Activity ,它创建一个 SurfaceView 和线程来处理 Canvas 绘图和游戏逻辑。当您退出游戏并再次启动它太多,或者如果您打开和关闭键盘(从而重新启动 Activity ),游戏会耗尽内存,通常是在加载位图时:
java.lang.OutOfMemoryError: bitmap size exceeds VM budget
如何在游戏状态改变时将所有图像保留在内存中而不重新加载它们,或者如何从内存中释放它们并让它们在游戏重新启动时重新加载?
最佳答案
您是否在 list 中设置了 android:launchMode?如果您还没有并且没有明确处理返回到 onResume/onStart 中的原始 Activity ,您可能会同时运行游戏 Activity 的多个副本。
您可以查看 launchMode 的各种选项 here
关于java - 我的 Android 游戏在关闭和打开几次后内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2885170/