Libgdx Freetype 字体生成器大纲行为怪异
Libgdx Freetype Font Generator Outline acting weird
我正在使用资产管理器通过对象生成我的字体
FreeTypeFontGeneratorLoader,特别是我正在使用这个当前参数
FreeTypeFontLoaderParameter parameter = new FreeTypeFontLoaderParameter();
parameter.fontFileName = "fonts/myFont.ttf";
parameter.fontParameters.size = size;
parameter.fontParameters.minFilter = Texture.TextureFilter.Linear;
parameter.fontParameters.magFilter = Texture.TextureFilter.Linear;
if(withStroke) {
parameter.fontParameters.borderStraight = true;
parameter.fontParameters.borderColor = Color.BLACK;
parameter.fontParameters.borderWidth = 1.5f;
}
parameter.fontParameters.color = Assets.fontColor;
(然后我将我的字体加载到资产中的静态变量中class)
如果应用程序是第一次 运行,一切正常,
这是带有大纲屏幕截图的生成文本:
但是在我使用这条线关闭我的应用程序后
Gdx.app.exit();
然后再次打开我的应用程序,轮廓现在开始变得奇怪了
这是奇怪的生成字体的屏幕截图:
我已经尝试在 Gdx 中处理 ApplicationListener 事件时处理我的资产管理器,但有时我的字体仍然表现得很奇怪。
如果我在所有任务android中清除我的处理运行,那么字体又正常了。
你能告诉我为什么会发生这种情况的可能解决方案吗?你有什么建议吗?
谢谢
Android 有时会保留静态(最终)变量,即使应用程序失去了上下文。
使用静态变量时:确保在需要时释放,然后将它们设置为空。或者不要对资产使用静态。
之所以会出现这个问题,是因为我的应用程序没有完全关闭,因为这一行:
Gdx.app.exit();
正在这样做:
Schedule an exit from the application. On android, this will cause a call to pause() and dispose() some time in the future, it will not immediately finish your application"
这就是为什么我使用此行更改关闭我的应用程序的方式:
System.exit(0);
当用户再次打开我的应用程序时,我的应用程序正在加载并生成新字体。
我正在使用资产管理器通过对象生成我的字体 FreeTypeFontGeneratorLoader,特别是我正在使用这个当前参数
FreeTypeFontLoaderParameter parameter = new FreeTypeFontLoaderParameter();
parameter.fontFileName = "fonts/myFont.ttf";
parameter.fontParameters.size = size;
parameter.fontParameters.minFilter = Texture.TextureFilter.Linear;
parameter.fontParameters.magFilter = Texture.TextureFilter.Linear;
if(withStroke) {
parameter.fontParameters.borderStraight = true;
parameter.fontParameters.borderColor = Color.BLACK;
parameter.fontParameters.borderWidth = 1.5f;
}
parameter.fontParameters.color = Assets.fontColor;
(然后我将我的字体加载到资产中的静态变量中class)
如果应用程序是第一次 运行,一切正常, 这是带有大纲屏幕截图的生成文本:
但是在我使用这条线关闭我的应用程序后
Gdx.app.exit();
然后再次打开我的应用程序,轮廓现在开始变得奇怪了 这是奇怪的生成字体的屏幕截图:
我已经尝试在 Gdx 中处理 ApplicationListener 事件时处理我的资产管理器,但有时我的字体仍然表现得很奇怪。
如果我在所有任务android中清除我的处理运行,那么字体又正常了。
你能告诉我为什么会发生这种情况的可能解决方案吗?你有什么建议吗? 谢谢
Android 有时会保留静态(最终)变量,即使应用程序失去了上下文。
使用静态变量时:确保在需要时释放,然后将它们设置为空。或者不要对资产使用静态。
之所以会出现这个问题,是因为我的应用程序没有完全关闭,因为这一行:
Gdx.app.exit();
正在这样做:
Schedule an exit from the application. On android, this will cause a call to pause() and dispose() some time in the future, it will not immediately finish your application"
这就是为什么我使用此行更改关闭我的应用程序的方式:
System.exit(0);
当用户再次打开我的应用程序时,我的应用程序正在加载并生成新字体。