ComponentCallbacks2

本文介绍ComponentCallback2接口中的onTrimMemory方法,该方法帮助开发者根据不同级别的内存压力释放资源,从而提升用户体验并增加应用存活率。文章详细解释了各种onTrimMemory参数的意义及其对应的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ComponentCallbacks2 相关类图


关于ComponentCallback2

  1. 是一个细粒度的内存回收管理回调。
  2. Application、Activity、Service、ContentProvider、Fragment实现了ComponentCallback2接口
  3. 开发者应该实现onTrimMemory(int)方法,细粒度release 内存,参数可以体现不同程度的内存可用情况
  4. 响应onTrimMemory回调:开发者的app会直接受益,有利于用户体验,系统更有可能让app存活的更持久。
  5. 不响应onTrimMemory回调:系统更有可能kill 进程

onTrimMemory参数的意义

当开发者的app正在运行

  1. Trim_memory_running_moderate:设备开始运行缓慢,当前app正在运行,不会被kill
  2. Trim_memory_running_low:设备运行更缓慢了,当前app正在运行,不会被kill。但是请回收unused资源,以便提升系统的性能。
  3. Trim_memory_running_critical:设备运行特别慢,当前app还不会被杀死,但是如果此app没有释放资源,系统将会kill后台进程

当开发者的app's visibility 改变

  1. Trim_memory_ui_hidden:当前app UI不再可见,这是一个回收大个资源的好时机,

当开发者的应用进程被置于background LRU list

  1. trim_memory_background:系统运行慢,并且进程位于LRU list的上端。尽管app不处于高风险被kill。当前app应该释放那些容易恢复的资源
  2. trim_memory_moderate:系统运行缓慢,当前进程已经位于LRU list的中部,如果系统进一步变慢,便会有被kill的可能
  3. trim_memory_complete:系统运行慢,当前进程是第一批将被系统kill的进程。此app应该释放一切可以释放的资源。低于api 14的,用户可以使用onLowMemory回调。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值