В моей игре для Android не хватает памяти, когда она закрывается и открывается и пару раз - PullRequest
1 голос
/ 21 мая 2010

У меня есть игра для Android, в которой есть действие для меню, а затем еще одно действие для игры, которая создает SurfaceView и Thread для работы с рисованием на холсте и игровой логикой.Когда вы выходите из игры и запускаете ее снова слишком часто или если вы открываете и закрываете клавиатуру (таким образом, возобновляя действие), игре не хватает памяти, обычно при загрузке растрового изображения:

java.lang.OutOfMemoryError: bitmap size exceeds VM budget

КакМогу ли я сохранить все свои изображения в памяти, не загружая их снова, когда игра меняет состояние, или как я могу освободить их из памяти и позволить перезагрузить их после перезапуска игры?

Ответы [ 3 ]

1 голос
/ 22 мая 2010

Вы установили Android: launchMode в своем манифесте? Если у вас нет и вы явно не обрабатываете возврат к исходному действию в onResume / onStart, вы, вероятно, получаете одновременно несколько копий игрового действия.

Здесь вы можете посмотреть различные варианты запуска.

0 голосов
/ 22 мая 2010

Ваш контекст может быть утечкой. Это должно помочь.

0 голосов
/ 22 мая 2010

Как вы загружаете и выпускаете изображения в настоящее время?

Нашел этот ресурс

"Старайтесь не загружать изображение в байтовый массив перед передачей его в BitmapFactory, а скорее передайте InputStream непосредственно BitmapFactory. Размер изображения ограничен. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...