1
我目前正在使用LibGDX的Android应用程序,并指出我的内存泄漏到这一个方法。任何人都可以帮我弄清楚这是从哪里来的?我曾尝试通过本地LibGDX方法回顾,但仍然无法找到泄漏的位置。谢谢内存泄漏与BitmapFont
private void drawScore() {
scoreLength = ("" + myWorld.getScore()).length();
AssetLoader.shadow.draw(batcher, "" + myWorld.getScore(),
165 - (3 * scoreLength), midPointY - 82);
AssetLoader.font.draw(batcher, "" + myWorld.getScore(),
165 - (3 * scoreLength) - 1, midPointY - 83);
}
可能是任何东西......也许你在某个时候处置了资产管理器,或者资产管理器是静态的,这可能会导致Android生命周期中的问题。也许你加载的字体不正确。你能提供更多的代码吗? – Marius
它泄漏了很多吗?如果没有,它可能只是你做的String concat,因为我猜这个drawScore()是每帧完成的?尝试使用StringBuilder来查看它是否有更好的结果。如果没有,我们需要看AssetLoader.shadow.draw()和AssetLoader.font.draw() –
你是如何识别泄漏的?你的意思是说GC在这里很活跃吗? – Tenfour04