【问题标题】:Buttons texture garbled (Libgdx) upon reload重新加载时按钮纹理乱码(Libgdx)
【发布时间】:2018-04-19 23:55:16
【问题描述】:

我正在 libgdx 中开发游戏。 当我从后台应用程序加载游戏时,它显示如下。 可能的原因是什么?

【问题讨论】:

    标签: android libgdx reload


    【解决方案1】:

    可能您正在使用static 资源,这是导致此问题的最常见原因。

    当您的应用暂停时,操作系统可能会决定关闭它(以释放内存),包括其 OpenGL 上下文,但不能保证这样做。

    当您的应用进入前台时,操作系统会启动您的应用的一个新实例。为此,它会重复使用与您的应用程序的前一个实例相同的虚拟机,包括它已经加载的所有资产。这也意味着任何静态变量都将具有它们上次运行应用程序时的值。如果这些变量中的任何一个包含任何资源,那么这些资源将不再有效。您的应用程序创建了一个新的 OpenGL 上下文,但资产仍指向旧的无效上下文。

    所以我建议不要在 android 中保留/使用 static 资源,例如AssetManager, Texture, BitmapFont....

    如果您仍然决定使用静态,请确保充分了解它们的生命周期。

    【讨论】:

    • 完美答案。我正在以静态方式访问皮肤。谢谢:)
    猜你喜欢
    • 1970-01-01
    • 2020-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    相关资源
    最近更新 更多