Version: 2017.1

描述

This event occurs when an iOS, Android, or Tizen device notifies of low memory while the app is running in the foreground. You can release non-critical assets from memory (such as, textures or audio clips) in response to this in order to avoid the app being terminated. You can also load smaller versions of such assets. Furthermore, you should serialize any transient data to permanent storage to avoid data loss if the app is terminated.

此事件对应于不同平台上的以下回调:
- iOS:[UIApplicationDelegate applicationDidReceiveMemoryWarning]
- Android:onLowMemory() and onTrimMemory(level == TRIM_MEMORY_RUNNING_CRITICAL)
- Tizen: ui_app_add_event_handler with type APP_EVENT_LOW_MEMORY

以下是处理回调的示例:

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(); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961