Убийцы памяти

Платформа Android работает по принципу, что свободная память — это потраченная впустую память. Android постоянно стремится использовать всю доступную память. Например, система сохраняет приложения в памяти после их закрытия, чтобы пользователь мог быстро вернуться к ним. По этой причине устройства Android часто работают с очень небольшим объемом свободной памяти (см. раздел «Распределение памяти в Android» здесь ).

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

Для определения того, какой процесс следует завершить, демон LMK использует показатель нехватки памяти, называемый oom_adj_score, для определения приоритета запущенных процессов . Процессы с высоким показателем завершаются первыми. Фоновые приложения завершаются первыми; системные процессы — последними. В следующей таблице перечислены категории оценки LMK от высокой к низкой. Элементы с наивысшим показателем (в первой строке) завершаются первыми:

Процессы Android, ранжированные от наивысшего балла к наинизшему: фоновые приложения, предыдущее приложение, приложение «Домой»,  службы, видимые приложения, приложение на переднем плане, постоянно работающие приложения, системные приложения и нативные приложения.
Рисунок 1. Процессы Android, с высокими показателями вверху и низкими показателями внизу.

инструменты профилирования памяти

Следующие инструменты могут помочь вам выявить и диагностировать проблемы с памятью следующими способами:

  • Узнайте, как ваше приложение распределяет память с течением времени. Вы можете найти график в реальном времени, показывающий, сколько памяти использует ваше приложение, количество выделенных объектов Java и когда происходит сборка мусора.
  • Запустите сборку мусора и сделайте снимок кучи Java во время работы вашего приложения.
  • Запишите данные о выделении памяти вашим приложением, проверьте все выделенные объекты и просмотрите трассировку стека для каждого выделения.

Если ваша игра работает на нативном движке, используйте HWAddress Sanitizer для отладки выделения памяти в нативном режиме.

Профайлер памяти Android Studio

Android Studio предоставляет компонент Memory Profiler, входящий в состав Android Profiler , который помогает выявлять утечки памяти и изменения в её использовании, что может приводить к зависаниям, сбоям и даже аварийным завершениям работы приложения. Профилировщик отображает график использования памяти вашим приложением в реальном времени, позволяет создавать дампы кучи, принудительно запускать сборщик мусора и отслеживать выделение памяти.

Рисунок 2. Просмотр глобальных ссылок JNI в профилировщике памяти Android Studio.

Инструменты профилирования памяти Unity

Если вы используете Unity Engine для сборки приложений, вы можете следовать рекомендациям Unity по профилированию памяти . Unity предлагает два инструмента для анализа использования памяти в вашем приложении.

Первый модуль — это модуль Memory Profiler , встроенный профилировщик, предоставляющий основную информацию о том, где ваше приложение использует память.

Модуль «Память» отображает распределение памяти, например, памяти для текстур и памяти для сетки.
Рисунок 3. Окно Unity Profiler с выбранным модулем Memory .

Второй инструмент — это пакет Memory Profiler , который представляет собой пакет Unity, который можно добавить в свой проект. Пакет добавляет дополнительное окно Memory Profiler в редактор Unity. Memory Profiler позволяет более детально анализировать использование памяти в вашем приложении. Вы можете сохранять и сравнивать снимки, чтобы найти утечки памяти, или просматривать структуру памяти, чтобы обнаружить проблемы фрагментации памяти.

Рисунок 4. Анализ снимка памяти с помощью окна «Профилировщик памяти».

Анализ памяти Unreal

Приложения, созданные на Unreal Engine, могут использовать Unreal Memory Insights для получения подробной информации о выделении и освобождении памяти, включая теги низкоуровневой памяти (LLM) и стеки вызовов, связанные с блоками памяти.

Система запросов Memory Insights позволяет отслеживать выделение памяти в режиме реального времени, выявлять изменения в использовании памяти, обнаруживать утечки памяти и различать краткосрочное и долгосрочное выделение памяти.

Начиная с UE 5.4, Memory Insights поддерживает трассировку памяти с помощью стека вызовов для проектов Android.

Инструмент Memory Insights отображает основной график использования памяти, количество выделенных в реальном времени областей и количество событий выделения/освобождения памяти.
Рисунок 5. Инструмент отслеживания памяти Memory Insights от Unreal Engine.

Информация о низкой памяти

Android предоставляет функции обратного вызова и API, позволяющие оптимизировать потребление памяти игрой и определить причины прерывания предыдущих запусков.

Обратные звонки

Не регистрируйте устаревшие функции обратного вызова TRIM_MEMORY_UI_HIDDEN . В Android нет API для обнаружения событий, связанных с нехваткой памяти, когда система достигает пределов памяти. Функции обратного вызова TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND не помогли предотвратить завершение процессов при нехватке памяти, поэтому Android объявил устаревшими все эти функции, кроме TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND .

Завершение игры

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

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

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

Дополнительные ресурсы

,

Платформа Android работает по принципу, что свободная память — это потраченная впустую память. Android постоянно стремится использовать всю доступную память. Например, система сохраняет приложения в памяти после их закрытия, чтобы пользователь мог быстро вернуться к ним. По этой причине устройства Android часто работают с очень небольшим объемом свободной памяти (см. раздел «Распределение памяти в Android» здесь ).

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

Для определения того, какой процесс следует завершить, демон LMK использует показатель нехватки памяти, называемый oom_adj_score, для определения приоритета запущенных процессов . Процессы с высоким показателем завершаются первыми. Фоновые приложения завершаются первыми; системные процессы — последними. В следующей таблице перечислены категории оценки LMK от высокой к низкой. Элементы с наивысшим показателем (в первой строке) завершаются первыми:

Процессы Android, ранжированные от наивысшего балла к наинизшему: фоновые приложения, предыдущее приложение, приложение «Домой»,  службы, видимые приложения, приложение на переднем плане, постоянно работающие приложения, системные приложения и нативные приложения.
Рисунок 1. Процессы Android, с высокими показателями вверху и низкими показателями внизу.

инструменты профилирования памяти

Следующие инструменты могут помочь вам выявить и диагностировать проблемы с памятью следующими способами:

  • Узнайте, как ваше приложение распределяет память с течением времени. Вы можете найти график в реальном времени, показывающий, сколько памяти использует ваше приложение, количество выделенных объектов Java и когда происходит сборка мусора.
  • Запустите сборку мусора и сделайте снимок кучи Java во время работы вашего приложения.
  • Запишите данные о выделении памяти вашим приложением, проверьте все выделенные объекты и просмотрите трассировку стека для каждого выделения.

Если ваша игра работает на нативном движке, используйте HWAddress Sanitizer для отладки выделения памяти в нативном режиме.

Профайлер памяти Android Studio

Android Studio предоставляет компонент Memory Profiler, входящий в состав Android Profiler , который помогает выявлять утечки памяти и изменения в её использовании, что может приводить к зависаниям, сбоям и даже аварийным завершениям работы приложения. Профилировщик отображает график использования памяти вашим приложением в реальном времени, позволяет создавать дампы кучи, принудительно запускать сборщик мусора и отслеживать выделение памяти.

Рисунок 2. Просмотр глобальных ссылок JNI в профилировщике памяти Android Studio.

Инструменты профилирования памяти Unity

Если вы используете Unity Engine для сборки приложений, вы можете следовать рекомендациям Unity по профилированию памяти . Unity предлагает два инструмента для анализа использования памяти в вашем приложении.

Первый модуль — это модуль Memory Profiler , встроенный профилировщик, предоставляющий основную информацию о том, где ваше приложение использует память.

Модуль «Память» отображает распределение памяти, например, памяти для текстур и памяти для сетки.
Рисунок 3. Окно Unity Profiler с выбранным модулем Memory .

Второй инструмент — это пакет Memory Profiler , который представляет собой пакет Unity, который можно добавить в свой проект. Пакет добавляет дополнительное окно Memory Profiler в редактор Unity. Memory Profiler позволяет более детально анализировать использование памяти в вашем приложении. Вы можете сохранять и сравнивать снимки, чтобы найти утечки памяти, или просматривать структуру памяти, чтобы обнаружить проблемы фрагментации памяти.

Рисунок 4. Анализ снимка памяти с помощью окна «Профилировщик памяти».

Анализ памяти Unreal

Приложения, созданные на Unreal Engine, могут использовать Unreal Memory Insights для получения подробной информации о выделении и освобождении памяти, включая теги низкоуровневой памяти (LLM) и стеки вызовов, связанные с блоками памяти.

Система запросов Memory Insights позволяет отслеживать выделение памяти в режиме реального времени, выявлять изменения в использовании памяти, обнаруживать утечки памяти и различать краткосрочное и долгосрочное выделение памяти.

Начиная с UE 5.4, Memory Insights поддерживает трассировку памяти с помощью стека вызовов для проектов Android.

Инструмент Memory Insights отображает основной график использования памяти, количество выделенных в реальном времени областей и количество событий выделения/освобождения памяти.
Рисунок 5. Инструмент отслеживания памяти Memory Insights от Unreal Engine.

Информация о низкой памяти

Android предоставляет функции обратного вызова и API, позволяющие оптимизировать потребление памяти игрой и определить причины прерывания предыдущих запусков.

Обратные звонки

Не регистрируйте устаревшие функции обратного вызова TRIM_MEMORY_UI_HIDDEN . В Android нет API для обнаружения событий, связанных с нехваткой памяти, когда система достигает пределов памяти. Функции обратного вызова TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND не помогли предотвратить завершение процессов при нехватке памяти, поэтому Android объявил устаревшими все эти функции, кроме TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND .

Завершение игры

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

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

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

Дополнительные ресурсы

,

Платформа Android работает по принципу, что свободная память — это потраченная впустую память. Android постоянно стремится использовать всю доступную память. Например, система сохраняет приложения в памяти после их закрытия, чтобы пользователь мог быстро вернуться к ним. По этой причине устройства Android часто работают с очень небольшим объемом свободной памяти (см. раздел «Распределение памяти в Android» здесь ).

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

Для определения того, какой процесс следует завершить, демон LMK использует показатель нехватки памяти, называемый oom_adj_score, для определения приоритета запущенных процессов . Процессы с высоким показателем завершаются первыми. Фоновые приложения завершаются первыми; системные процессы — последними. В следующей таблице перечислены категории оценки LMK от высокой к низкой. Элементы с наивысшим показателем (в первой строке) завершаются первыми:

Процессы Android, ранжированные от наивысшего балла к наинизшему: фоновые приложения, предыдущее приложение, приложение «Домой»,  службы, видимые приложения, приложение на переднем плане, постоянно работающие приложения, системные приложения и нативные приложения.
Рисунок 1. Процессы Android, с высокими показателями вверху и низкими показателями внизу.

инструменты профилирования памяти

Следующие инструменты могут помочь вам выявить и диагностировать проблемы с памятью следующими способами:

  • Узнайте, как ваше приложение распределяет память с течением времени. Вы можете найти график в реальном времени, показывающий, сколько памяти использует ваше приложение, количество выделенных объектов Java и когда происходит сборка мусора.
  • Запустите сборку мусора и сделайте снимок кучи Java во время работы вашего приложения.
  • Запишите данные о выделении памяти вашим приложением, проверьте все выделенные объекты и просмотрите трассировку стека для каждого выделения.

Если ваша игра работает на нативном движке, используйте HWAddress Sanitizer для отладки выделения памяти в нативном режиме.

Профайлер памяти Android Studio

Android Studio предоставляет компонент Memory Profiler, входящий в состав Android Profiler , который помогает выявлять утечки памяти и изменения в её использовании, что может приводить к зависаниям, сбоям и даже аварийным завершениям работы приложения. Профилировщик отображает график использования памяти вашим приложением в реальном времени, позволяет создавать дампы кучи, принудительно запускать сборщик мусора и отслеживать выделение памяти.

Рисунок 2. Просмотр глобальных ссылок JNI в профилировщике памяти Android Studio.

Инструменты профилирования памяти Unity

Если вы используете Unity Engine для сборки приложений, вы можете следовать рекомендациям Unity по профилированию памяти . Unity предлагает два инструмента для анализа использования памяти в вашем приложении.

Первый модуль — это модуль Memory Profiler , встроенный профилировщик, предоставляющий основную информацию о том, где ваше приложение использует память.

Модуль «Память» отображает распределение памяти, например, памяти для текстур и памяти для сетки.
Рисунок 3. Окно Unity Profiler с выбранным модулем Memory .

Второй инструмент — это пакет Memory Profiler , который представляет собой пакет Unity, который можно добавить в свой проект. Пакет добавляет дополнительное окно Memory Profiler в редактор Unity. Memory Profiler позволяет более детально анализировать использование памяти в вашем приложении. Вы можете сохранять и сравнивать снимки, чтобы найти утечки памяти, или просматривать структуру памяти, чтобы обнаружить проблемы фрагментации памяти.

Рисунок 4. Анализ снимка памяти с помощью окна «Профилировщик памяти».

Анализ памяти Unreal

Приложения, созданные на Unreal Engine, могут использовать Unreal Memory Insights для получения подробной информации о выделении и освобождении памяти, включая теги низкоуровневой памяти (LLM) и стеки вызовов, связанные с блоками памяти.

Система запросов Memory Insights позволяет отслеживать выделение памяти в режиме реального времени, выявлять изменения в использовании памяти, обнаруживать утечки памяти и различать краткосрочное и долгосрочное выделение памяти.

Начиная с UE 5.4, Memory Insights поддерживает трассировку памяти с помощью стека вызовов для проектов Android.

Инструмент Memory Insights отображает основной график использования памяти, количество выделенных в реальном времени областей и количество событий выделения/освобождения памяти.
Рисунок 5. Инструмент отслеживания памяти Memory Insights от Unreal Engine.

Информация о низкой памяти

Android предоставляет функции обратного вызова и API, позволяющие оптимизировать потребление памяти игрой и определить причины прерывания предыдущих запусков.

Обратные звонки

Не регистрируйте устаревшие функции обратного вызова TRIM_MEMORY_UI_HIDDEN . В Android нет API для обнаружения событий, связанных с нехваткой памяти, когда система достигает пределов памяти. Функции обратного вызова TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND не помогли предотвратить завершение процессов при нехватке памяти, поэтому Android объявил устаревшими все эти функции, кроме TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND .

Завершение игры

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

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

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

Дополнительные ресурсы

,

Платформа Android работает по принципу, что свободная память — это потраченная впустую память. Android постоянно стремится использовать всю доступную память. Например, система сохраняет приложения в памяти после их закрытия, чтобы пользователь мог быстро вернуться к ним. По этой причине устройства Android часто работают с очень небольшим объемом свободной памяти (см. раздел «Распределение памяти в Android» здесь ).

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

Для определения того, какой процесс следует завершить, демон LMK использует показатель нехватки памяти, называемый oom_adj_score, для определения приоритета запущенных процессов . Процессы с высоким показателем завершаются первыми. Фоновые приложения завершаются первыми; системные процессы — последними. В следующей таблице перечислены категории оценки LMK от высокой к низкой. Элементы с наивысшим показателем (в первой строке) завершаются первыми:

Процессы Android, ранжированные от наивысшего балла к наинизшему: фоновые приложения, предыдущее приложение, приложение «Домой»,  службы, видимые приложения, приложение на переднем плане, постоянно работающие приложения, системные приложения и нативные приложения.
Рисунок 1. Процессы Android, с высокими показателями вверху и низкими показателями внизу.

инструменты профилирования памяти

Следующие инструменты могут помочь вам выявить и диагностировать проблемы с памятью следующими способами:

  • Узнайте, как ваше приложение распределяет память с течением времени. Вы можете найти график в реальном времени, показывающий, сколько памяти использует ваше приложение, количество выделенных объектов Java и когда происходит сборка мусора.
  • Запустите сборку мусора и сделайте снимок кучи Java во время работы вашего приложения.
  • Запишите данные о выделении памяти вашим приложением, проверьте все выделенные объекты и просмотрите трассировку стека для каждого выделения.

Если ваша игра работает на нативном движке, используйте HWAddress Sanitizer для отладки выделения памяти в нативном режиме.

Профайлер памяти Android Studio

Android Studio предоставляет компонент Memory Profiler, входящий в состав Android Profiler , который помогает выявлять утечки памяти и изменения в её использовании, что может приводить к зависаниям, сбоям и даже аварийным завершениям работы приложения. Профилировщик отображает график использования памяти вашим приложением в реальном времени, позволяет создавать дампы кучи, принудительно запускать сборщик мусора и отслеживать выделение памяти.

Рисунок 2. Просмотр глобальных ссылок JNI в профилировщике памяти Android Studio.

Инструменты профилирования памяти Unity

Если вы используете Unity Engine для сборки приложений, вы можете следовать рекомендациям Unity по профилированию памяти . Unity предлагает два инструмента для анализа использования памяти в вашем приложении.

Первый модуль — это модуль Memory Profiler , встроенный профилировщик, предоставляющий основную информацию о том, где ваше приложение использует память.

Модуль «Память» отображает распределение памяти, например, памяти для текстур и памяти для сетки.
Рисунок 3. Окно Unity Profiler с выбранным модулем Memory .

Второй инструмент — это пакет Memory Profiler , который представляет собой пакет Unity, который можно добавить в свой проект. Пакет добавляет дополнительное окно Memory Profiler в редактор Unity. Memory Profiler позволяет более детально анализировать использование памяти в вашем приложении. Вы можете сохранять и сравнивать снимки, чтобы найти утечки памяти, или просматривать структуру памяти, чтобы обнаружить проблемы фрагментации памяти.

Рисунок 4. Анализ снимка памяти с помощью окна «Профилировщик памяти».

Анализ памяти Unreal

Приложения, созданные на Unreal Engine, могут использовать Unreal Memory Insights для получения подробной информации о выделении и освобождении памяти, включая теги низкоуровневой памяти (LLM) и стеки вызовов, связанные с блоками памяти.

Система запросов Memory Insights позволяет отслеживать выделение памяти в режиме реального времени, выявлять изменения в использовании памяти, обнаруживать утечки памяти и различать краткосрочное и долгосрочное выделение памяти.

Начиная с UE 5.4, Memory Insights поддерживает трассировку памяти с помощью стека вызовов для проектов Android.

Инструмент Memory Insights отображает основной график использования памяти, количество выделенных в реальном времени областей и количество событий выделения/освобождения памяти.
Рисунок 5. Инструмент отслеживания памяти Memory Insights от Unreal Engine.

Информация о низкой памяти

Android предоставляет функции обратного вызова и API, позволяющие оптимизировать потребление памяти игрой и определить причины прерывания предыдущих запусков.

Обратные звонки

Не регистрируйте устаревшие функции обратного вызова TRIM_MEMORY_UI_HIDDEN . В Android нет API для обнаружения событий, связанных с нехваткой памяти, когда система достигает пределов памяти. Функции обратного вызова TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND не помогли предотвратить завершение процессов при нехватке памяти, поэтому Android объявил устаревшими все эти функции, кроме TRIM_MEMORY_UI_HIDDEN и TRIM_MEMORY_BACKGROUND .

Завершение игры

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

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

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

Дополнительные ресурсы