关于ComponentCallback2

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

 

 

--------------------- 
作者:time_hunter 
来源:CSDN 
原文:https://blog.csdn.net/time_hunter/article/details/53107191 
版权声明:本文为博主原创文章,转载请附上博文链接!

更多相关文章

  1. Android系统源码阅读(17):Android(安卓)应用的安装
  2. guest mode 无法record audio
  3. Android(安卓)P PackageManagerService 初始化流程
  4. Android系统修改汇总(MTK)
  5. android things中与标准android系统不同的地方
  6. android系统信息(内存,cpu,sd卡,电量,版本)的获取
  7. Android获取系统时间以及网络时间
  8. Mac系统下Android(安卓)SDK更新以及ADT无法在线下载
  9. 关于Android系统 和 Android应用程序

随机推荐

  1. Android(安卓)App调用MediaRecorder实现
  2. Android(安卓)Volley 网络请求框架图
  3. Android(安卓)7.0 ActivityManagerServic
  4. Android图片处理(Matrix,ColorMatrix) -
  5. Android(安卓)EditText 下换线颜色变换
  6. Android(安卓)对手机网络的检测和监听
  7. Android应用开发学习笔记之绘图
  8. Android(安卓)设计模式之桥接模式
  9. Android(安卓)IntentService详解
  10. android 数据存储的四种方式.