java - 我的 Android 游戏在关闭和打开几次后内存不足

标签 java android memory bitmap

我有一个 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/

相关文章:

java - 使用Java将文件从SFTP服务器传输到本地系统

java - java中的Readkey() : how to do it?

java - 由 : java. lang.NullPointerException 引起

android - 如何恢复 Android OpenGL native 应用程序

android - 未能检测到 New Relic 检测。 android应用程序中的错误

java - 从线程修改全局 ArrayList

java - 自定义 Jackson HttpMessageConverter 在 Spring 4.2 中不再有效

c++ - 退出码3(不是我的返回值,找源码)

javascript - 如何在 Internet Explorer 中清理 JSONP 内存

python - Numpy 数组维度的选择