我正在为Android的libGDX游戏工作,我在管理资产方面遇到了问题。我有一个单独模式的类。我使用静态最终变量来访问此实例,我还使用AssetManager来管理我的资产。此管理器在构造函数中创建并在出口处处理。
我的问题是,当我关闭游戏并再次启动它时,类实例是相同的(没有删除也没有重新创建)并且AssetManager仍然存在但处理掉了,所以当我尝试加载我的时候资产全部崩溃。
为什么不删除静态实例?垃圾收集器需要多长时间?我可以手动删除吗?有什么方法可以解决这个问题吗?我可以使用AssetManager#clear代替AssetManager#dispose,但我的类存储会引用游戏使用的所有资产和对象。
答案 0 :(得分:2)
我认为,你可能不会关闭游戏,它可能会转移到背景中,否则,一旦到达前台或反映任何发生的事情,它可能被称为onResume()
或{{1} }。onStart()
它没有被称为相应的Activity上下文,因此您需要在每个onResume()
或getinstance()
方法中调用onResume()
。
像这样创建你的实例
onStart()