Статистика игр с низким объемом памяти

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

Информация, идеи и рекомендации, которые помогут вам лучше использовать игровую память, включают следующее:

  • Используйте ApplicationExitInfo — этот API Java/Kotlin возвращает причину, по которой предыдущий запуск игры был прекращен системой Android. Используйте ApplicationExitInfo для проверки нехватки памяти как причины смерти предыдущего запуска процесса. Проверьте, не завершилась ли игра из-за нехватки памяти, чтобы можно было оптимизировать игру для использования меньшего количества памяти на этом устройстве.
  • Посмотрите на общий объем физической оперативной памяти . Чтобы предотвратить завершение игр на переднем плане и обеспечить соответствие возможностям устройства, посмотрите на общий объем физической оперативной памяти и на основе этого отрегулируйте использование игровой памяти. Если цель состоит в том, чтобы предотвратить завершение работы приложений вскоре после перехода в фоновый режим (чтобы позволить игроку выполнять многозадачность), используйте обратные вызовы обрезки (в частности, TRIM_MEMORY_UI_HIDDEN ), чтобы уменьшить использование игровой памяти.
  • Не регистрируйтесь для устаревших обратных вызовов обрезки — в Android нет API-интерфейсов для обнаружения событий нехватки памяти, когда они достигают пределов памяти (см. выноску демона-убийцы нехватки памяти ). Обратные вызовы обрезки не помогли предотвратить уничтожение нехватки памяти, поэтому Android объявил устаревшими все из них , кроме TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND .

Демон-убийца нехватки памяти

Демон устранения нехватки памяти Android ( lmkd ) — это процесс, который отслеживает состояние памяти работающей системы Android и реагирует на высокую нехватку памяти, убивая наименее важные процессы, чтобы поддерживать производительность системы на приемлемом уровне.

Демон может выбирать процессы для уничтожения, не дожидаясь, пока процесс подтвердит какой-либо обратный вызов. Таким образом, приложения и игры не будут получать уведомления как последний шанс освободить память, прежде чем они будут уничтожены.

Узнайте больше о демоне-убийце нехватки памяти .