codecamp

支付宝小程序API 内存不足告警

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) 类型,callback 回调函数的参数类型为 Object 类型,属性如下:

属性 类型 说明
level Number 系统内存的告警等级, 仅 Android 有此字段。

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

int TRIM_MEMORY_RUNNING_LOW = 10
int TRIM_MEMORY_RUNNING_CRITICAL = 15

my.offMemoryWarning

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

停止监听内存不足的告警事件,需要保证和 onMemoryWarning/offMemoryWarning 中的入参(callback)是同一个对象。

扫码体验

内存不足警示.png

入参

Function 类型,callback 回调函数。

示例代码

// 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); 
    }
  }
});
是否需要传 callback 值

  • 不传递 callback 值,则会移除监听所有的事件回调。示例代码如下:

my.offMemoryWarning();
  • 传递 callback 值,只移除对应的 callback 事件。示例代码如下:

my.offMemoryWarning(this.callback);
支付宝小程序API 扫码
支付宝小程序API 获取设备电量
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

支付宝小程序开发文档

支付宝小程序 快速示例

支付宝小程序 小程序快速示例

支付宝小程序 框架

支付宝小程序 组件

支付宝小程序组件 基础组件

支付宝小程序组件 无障碍访问

支付宝小程序 扩展组件

支付宝小程序扩展组件 UI组件

支付宝小程序 API

支付宝小程序 开发工具

支付宝小程序 云服务

支付宝小程序 Serverless

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }