我目前正在使用LibGDX处理一个Android应用程序,并将我的内存泄漏精确定位到这一方法。任何人都可以帮我弄清楚这是从哪里来的?我试过回顾一下原生的LibGDX方法,但我仍然无法找到泄漏的位置。感谢
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);
}
答案 0 :(得分:0)
最好的方法是预先计算所有数据,以便渲染不会进行任何字符串连接或其他操作。
所以当分数改变时:
Vector2
字段中。在drawScore
上仅使用字段中的数据进行绘制。
此外,您可以检查GlyphLayout
以更好地计算字符串的位置。应用与以前相同的原则,不要在绘图时使用新的计算,也不要在分数变化时使用它们。