Libgdx AssetManager 未在恢复时加载资源

Libgdx AssetManager not loading resources on resume

我正在使用 Libgdx assetmanager 加载 UI 资产。在我重新启动应用程序 (Android) 之前,它工作得很好。 这是发生了什么:

  1. 我开始游戏:运行良好
  2. 我使用 Gdx.app.exit() 关闭应用程序(没有错误)
  3. 现在,当我按下应用程序图标打开它时:崩溃了!

错误:com.badlogic.gdx.utils.GdxRuntimeException: Asset not loaded: data/GUI/packed/gui.atlas

我试过了finishloading()没有成功! 我尝试使用 finishloadingasset("data/GUI/packed/gui.atlas") 这个块永远! 添加 assetmanager.dispose() 退出前也清除。运气不好!

当它崩溃后,如果我尝试再次打开它,它工作正常!

请指教! 谢谢

关闭 Android 中的 Activity 不会自动清除您的静态引用。不要持有对任何 OpenGL 相关对象(例如 AssetManagers、Textures、ShaderPrograms、SpriteBatches 等)的任何静态引用,否则您可能 Android 在不知道如何(或不知道如何)重新加载它们的情况下重新打开游戏。

通过在 Activity 的 onCreate 方法中清除静态引用,可能有解决此问题的方法,但 safer/easier 完全避免静态引用。