codecamp

鸿蒙OS ElementsCallback

ElementsCallback

public interface ElementsCallback

提供可供元素用来监听系统配置和内存状态变化的回调。

方法总结

修饰符和类型 方法 描述
void onConfigurationUpdated(Configuration configuration) 当设备的系统配置发生变化时调用。
void onMemoryLevel(int level) 当系统确定要修剪内存时调用,例如,当能力在后台运行并且没有足够的内存来运行尽可能多的后台进程时。

方法详情

onMemoryLevel

void onMemoryLevel(int level)

当系统确定要修剪内存时调用,例如,当能力在后台运行并且没有足够的内存来运行尽可能多的后台进程时。

参数:

参数名称 参数描述
level 表示内存修整级别,显示当前内存使用状态。取值及其各自含义如下: 5:应用程序运行正常,不会被杀死,但设备运行时内存稍有不足。系统可能会根据最近最少使用 (LRU) 列表开始杀死进程。10:应用程序运行正常,不会被杀死,但设备运行时内存极低。你的应用程序应该释放一些不必要的资源来提高系统性能,从而提高应用程序的性能。15:应用程序运行正常,但系统已经根据LRU列表杀死了大部分缓存的进程。在这种情况下,您的应用程序应该尽可能多地释放不必要的资源。否则,系统可能会继续杀掉所有缓存的进程,并开始杀掉一些本应继续运行的进程,例如后台运行的服务。20:应用程序UI被隐藏,例如,因为用户触摸了Home设备上的键。您的应用程序应该释放分配给 UI 显示的资源以释放内存。40:设备内存不足,您的应用程序位于 LRU 列表的顶部。系统不太可能杀死您的应用程序。为了让您的应用程序进程在缓存中保留更长的时间,您的应用程序应该通过释放一些可以轻松恢复的资源来增加可用的系统内存。通过这种方式,您的应用程序能够顺利返回前台,而不是重新启动。60:设备运行的内存极低,您的应用程序位于 LRU 列表的中间位置。如果没有更多内存被释放,您的应用程序可能会在稍后被终止。80:设备运行的内存极低,您的应用程序位于 LRU 列表的末尾。系统最有可能首先杀死您的应用程序。在这种情况下,您的应用程序应该释放所有可以释放的资源。

onConfigurationUpdated

void onConfigurationUpdated(Configuration configuration)

当设备的系统配置发生变化时调用。

只有在 config.json 文件中为当前在前台运行的功能配置了 configurationChange 字段时,才使用此回调方法。 否则,系统会重新启动该功能,而不是调用此回调方法。

参数:

参数名称 参数描述
configuration 表示新的配置对象
鸿蒙OS Context
鸿蒙OS IAbilityManager
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

鸿蒙OS 开发

鸿蒙OS 术语

鸿蒙OS Java API参考

鸿蒙OS ohos.aafwk.ability

鸿蒙OS ohos.aafwk.abilityjet.activedata

鸿蒙OS ohos.aafwk.content

鸿蒙OS java.lang

鸿蒙OS java.Util

鸿蒙OS java.Util class

鸿蒙OS ohos.data.dataability

鸿蒙OS ohos.data.dataability class

鸿蒙OS ohos.agp.components

鸿蒙OS ohos.agp.components interface

鸿蒙OS ohos.agp.components class

鸿蒙OS ohos.global.configuration

鸿蒙OS java.io

鸿蒙OS ohos.data.resultset

鸿蒙OS ohos.data.resultset interface

关闭

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; }