• 下载
  • 社区

my.onMemoryWarning

版本要求基础库 1.11.0  更高版本支付宝客户端 10.1.35 更高版本若版本较低,建议做 兼容处理


开始监听内存不足的告警事件,Android 下有告警等级划分:TRIM_MEMORY_RUNNING_LOW 和 TRIM_MEMORY_RUNNING_CRITICAL;iOS 没有等级划分。


扫码体验

内存不足警示.png


示例代码

// API-DEMO page/API/memory-warning/memory-warning.json
{
   "defaultTitle": "OnMemoryWarning"
}


<!-- API-DEMO page/API/memory-warning/memory-warning.axml-->
<view class="page">

  <button type="primary" onTap="onMemoryWarning">
    开始监听内存不足告警
  </button>

</view>


// API-DEMO page/API/memory-warning/memory-warning.js
Page({
  onLoad() {
    this.callback = (res) => {
        var levelString = 'iOS 设备, 无 level 传入.';
        switch (res.level) {
          case 10:
            levelString = 'Android 设备, level = TRIM_MEMORY_RUNNING_LOW';
            break;
          case 15:
            levelString = 'Android 设备, level = TRIM_MEMORY_RUNNING_CRITICAL';
            break;
        }
        my.alert({
          title: '收到内存不足告警',
          content: levelString
        });
    };
    this.isApiAvailable = my.canIUse('onMemoryWarning');
  },
  onMemoryWarning() {
    if (this.isApiAvailable) {
      my.onMemoryWarning(this.callback);
    } else {
      my.alert({
        title: '客户端版本过低',
        content: 'my.onMemoryWarning() 和 my.offMemoryWarning() 需要 10.1.35 及以上版本'
      });
    }
  },
  onUnload() {
    if (this.isApiAvailable) {
      my.offMemoryWarning(this.callback); 
    }
  }
});


入参

Function 类型,callback 回调函数入参为 Object 类型,属性如下:

属性

类型

说明

level

Number

系统内存的告警等级, 仅 Android 有此字段.

Android 下告警等级对应系统宏:


int TRIM_MEMORY_RUNNING_LOW = 10
int TRIM_MEMORY_RUNNING_CRITICAL = 15