Android之ComponentCallbacks2

Android之ComponentCallbacks2_第1张图片

 

关于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 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(Android)