我正在使用Libgdx assetmanager加载UI资源。它完全正常,直到我重新启动应用程序(Android)。 以下是发生的事情:
Gdx.app.exit()
(无错误)错误:com.badlogic.gdx.utils.GdxRuntimeException: Asset not loaded: data/GUI/packed/gui.atlas
我试过finishloading()
没有运气!
我尝试永远使用finishloadingasset("data/GUI/packed/gui.atlas")
这个块!
在退出之前添加assetmanager.dispose()
也清除。没有运气!
崩溃之后,如果我再次尝试打开它就可以正常工作了!
请指教! 感谢
答案 0 :(得分:2)
在Android中关闭活动不会自动清除您的静态引用。不要对任何与OpenGL相关的对象(如AssetManagers,Textures,ShaderPrograms,SpriteBatches等)保持任何静态引用,否则您可能会在不知道如何(或需要)重新加载游戏的情况下重新开启游戏。
通过清除Activity的onCreate
方法中的静态引用,可能会有一些方法,但更安全/更容易避免静态引用。