Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Application.lowMemory

Описание

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

Это событие поддерживается на iOS, Android и универсальной платформе Windows (UWP).

Это событие соответствует следующим обратным вызовам на разных платформах:

  • iOS: [UIApplicationDelegate applicationDidReceiveMemoryWarning]
  • Android: onLowMemory() и onTrimMemory(level == TRIM_MEMORY_RUNNING_CRITICAL)
  • UWP: MemoryManager.AppMemoryUsageIncreased (AppMemoryUsageLevel == OverLimit)

Примечание. Для UWP это событие не происходит на рабочем столе и работает только на устройствах с ограниченным объемом памяти, таких как HoloLens и Xbox One. Порог OverLimit, указанный ОС в этом случае, настолько высок, что его невозможно достичь и инициировать событие.

Вот пример обработки обратного вызова:

using UnityEngine; using System.Collections; using System.Collections.Generic; class LowMemoryTrigger : MonoBehaviour { List<Texture2D> _textures; private void Start() { _textures = new List<Texture2D>(); Application.lowMemory += OnLowMemory; } private void Update() { // allocate textures until we run out of memory _textures.Add(new Texture2D(256, 256)); } private void OnLowMemory() { // release all cached textures _textures = new List<Texture2D>(); Resources.UnloadUnusedAssets(); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3