1

我的情况是这样的:

  • 我有 3 个活动:2 个使用 Android UI(如下所示)和 1 个 Libgdx AndroidApplication
  • 我可以从我想要的 2 个菜单活动中来回走动,这就是 WAI
  • 我可以从我的菜单活动转到我的 Libgdx AndroidApplication,它是 WAI
  • 我可以从我的 Libgdx AndroidApplication 回到我的菜单活动,一瞬间我有字体/等。按照他们应该的方式渲染,但很快他们就变成了这样:

http://i.stack.imgur.com/VtoCb.jpg

我的假设是,libgdx AndroidApplication 在销毁时必须释放/卸载,或指示Android 纹理内存或GL Surface 视图或Android 字体正在使用的一些纹理内存支持?

按钮的 NinePatch 可绘制对象甚至受到影响,因此它不是特定于字体的东西。开/关开关不是,因为我在代码中将可绘制对象分配给它。

也许 setContentView 的布局充气器认为它的纹理在它们实际上被 Libgdx 活动的 onDestroy 释放时被加载?

PS起初我以为我只是内存不足,因此无法将字体加载到纹理中,这意味着我在某处有大量内存泄漏,但内存分析表明我没有泄漏。这张图片是在所有 3 项活动来回 5 次之后:

http://i.stack.imgur.com/45aev.jpg

有什么帮助吗?我对这个很迷茫...

4

1 回答 1

1

所以我可能无意中解决了我的问题,毕竟可能是由于内存泄漏。

我将启用的 ListView 项目从活动传递到 libgdx 活动(项目对象支持自己,而不是列表视图项目“视图”)。我知道 ListView 保留了它们,但我用作附加项的项目对象本身是一个简单的字符串和布尔值容器,没有对上下文或列表视图的引用。无论如何,这是一个 Android 问题,而不是 Libgdx 问题。

于 2013-05-22T08:44:22.307 回答