2015-03-09 4 views
0

Я разрабатываю 2d-игру с использованием рамки LibGdx, когда я нажимаю кнопку HOME, а затем возобновляю игру, она замерзает на 3-4 секунды, когда текстуры перезагружаются. Я использовал AssetManager для загрузки TextureAtlas &, а затем получения изображений с помощью findRegion. Я ссылался на документацию для «Текстура» (http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/graphics/Texture.html), и он упоминает, что «если контекст OpenGL потерян, все управляемые текстуры становятся недействительными. Это происходит, когда пользователь переключается на другое приложение или получает входящий вызов. Управляемые текстуры автоматически перезагружаются». , Я смущен, что избежать этой задержки!Проблема при возобновлении игры Libgdx

Любезно Помощь Благодарности

+0

Вы уверены, что это вызывает задержку? Попробуйте выполнить регистрацию времени до и после загрузки текстур 'onResume()' – rbennett485

+0

. Сколько времени требуется для запуска вашего приложения с нуля (уничтожьте любой фоновый экземпляр в вашем диспетчере задач, а затем запустите). –

+0

Это не займет много времени, только после того, как я начну свой игровой процесс и перейду на главный экран, а при возобновлении игры происходит задержка – RaoChin2

ответ

0

Там всегда будет задержка на возобновление игры.

Это потому, что на Android-телефоне, если вы нажмете кнопку дома или переключитесь на другое приложение, происходит так называемая потеря контекста.

Когда на Android происходит потеря контекста, это означает, что операционная система решила принудительно освободить память, занятую вашими загруженными активами.

Когда вы переключаетесь обратно в игру, вам необходимо снова перезагрузить эти активы, чтобы предотвратить сбой игры, и эта перезагрузка является причиной задержки.

Смежные вопросы