我正在使用LibGdx框架开发一款2D游戏,当我按下HOME按钮然后恢复游戏时,它会在重新加载纹理时冻结3-4秒。我使用AssetManager来加载TextureAtlas&然后通过findRegion获取图像。我提到了" Texture"的文档。 (http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/Texture.html)并提及"如果OpenGL上下文丢失,则所有托管纹理都将失效。当用户切换到另一个应用程序或接收来电时会发生这种情况。托管纹理会自动重新加载。"。我很困惑避免这种延迟!!
请帮助 感谢
答案 0 :(得分:0)
恢复比赛总会有延迟。
这是因为在Android上如果你按下主页按钮或切换到另一个应用程序,就会发生所谓的上下文丢失。
当在Android上发生上下文丢失时,这意味着操作系统决定强行释放已加载资源占用的内存。
当你切换回游戏时,你需要再次重新加载这些资产以防止游戏崩溃,这种重新加载是延迟的原因。