重新打开libgdx应用程序后,文本无法正确呈现

时间:2017-01-29 10:40:16

标签: android text fonts libgdx rendering

当我第一次启动应用程序时,TextButton的标签会正确显示:

Text OK

但是当我按下后退按钮(应用程序关闭)并再次打开它时,文本无法正确呈现:

Text not OK

1 个答案:

答案 0 :(得分:0)

这个问题主要发生在我们使资源静态的时候。
根据libgdx wiki,除非你正确管理它们,否则不要让你的AssetManager或任何其他资源(如Texture等)静态。

E.g。以下代码将导致问题:

public static AssetManager assets = new AssetManager();

这将导致Android出现问题,因为静态变量的生命周期不一定与应用程序的生命周期相同。因此,应用程序的先前实例的AssetManager实例可能会用于下一个实例,而资源不再有效。这通常会导致黑色/缺失纹理或不正确的资产。

在Android上,您的Activity的多个实例甚至可以同时处于活动状态,因此即使您正确处理生命周期方法,也不要认为您是安全的!