【问题标题】:My Android game runs out of memory when it is closed and opened and couple times我的 Android 游戏在关闭和打开几次时内存不足
【发布时间】:2010-05-21 19:58:42
【问题描述】:

我有一个 Android 游戏,它有一个菜单活动,然后是另一个游戏活动,它创建一个 SurfaceView 和线程来处理画布绘图和游戏逻辑。当您退出游戏并再次启动过多或打开和关闭键盘(从而重新启动 Activity)时,游戏会耗尽内存,通常是在加载位图时:

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

如何在游戏更改状态时将所有图像保留在内存中而不重新加载它们,或者如何从内存中释放它们并让它们在游戏重新启动时重新加载?

【问题讨论】:

    标签: java android memory bitmap


    【解决方案1】:

    您是否在清单中设置了 android:launchMode?如果您没有并且没有明确处理在 onResume/onStart 中返回原始活动,您可能会同时运行多个游戏活动副本。

    您可以查看launchMode here的各种选项

    【讨论】:

    • 我为我的两个活动尝试了每种启动模式的组合,但问题仍然存在。
    【解决方案2】:

    您目前如何加载和发布图片?

    找到这个resource

    "在将图像传递给 BitmapFactory 而是将 InputStream 直接传递给 BitmapFactory。图片的大小是有限制的。”

    【讨论】:

      【解决方案3】:

      您的上下文可能会泄漏。 This 应该有帮助。

      【讨论】:

        猜你喜欢
        • 2012-11-13
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        • 2018-05-25
        • 1970-01-01
        • 2016-12-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多