Задать вопрос
tonymontano
@tonymontano
Full stack web dev, game dev, Muay Thai

Как заставить заново загрузить static Texture?

Пишу на игру на андроид с libgdx в Android Studio. Игровое поле состоит из объектов, представленных текстурами. Так как объектов создаётся много, текстуры делаю статичным полем в классе, во избежание долгой загрузки, и, собственно, лишней работы. Игра отлично работает, но при сворачивании её на телефоне(выхода из приложения) и потом возврата в него происходит странный баг. Вместо текстур всё закрашивается чёрным цветом, если, конечно, они не представлены private полем. То есть, в момент возврата в приложение - всё создаётся заново(Game, Screen-ы, Actor-ы и т.д.). Вот только статичные текстуры, похоже, не видят в этом надобности.
Подскажите, почему так происходит?
Как выйти из ситуации?
  • Вопрос задан
  • 180 просмотров
Подписаться 1 Оценить 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@Px2
Тоже начал недавно осваивать libgdx, поэтому вопрос заинтересовал. На SO обсуждалась подобная проблема (спойлер - не надо так делать :) )

stackoverflow.com/questions/26955183/libgdx-dispos...


It is a bad idea to hold all your texture is static array in static class. It is very hard to manage memory and control which texture will be removed by GC when you minimize your game or in other similar cases.

I recommend you to use AssetManager for loading and disposing your resources. You can find lots of useful information about AssetManager and resources management here Managing your assets (https://github.com/libgdx/libgdx/wiki/Managing-you...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы