Android之ComponentCallbacks2
16lz
2021-01-26
关于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 改变
- Trim_memory_ui_hidden:当前app UI不再可见,这是一个回收大个资源的好时机,
-
当开发者的应用进程被置于background LRU list
- trim_memory_background:系统运行慢,并且进程位于LRU list的上端。尽管app不处于高风险被kill。当前app应该释放那些容易恢复的资源
- trim_memory_moderate:系统运行缓慢,当前进程已经位于LRU list的中部,如果系统进一步变慢,便会有被kill的可能
- trim_memory_complete:系统运行慢,当前进程是第一批将被系统kill的进程。此app应该释放一切可以释放的资源。低于api 14的,用户可以使用onLowMemory回调。
---------------------
作者:time_hunter
来源:CSDN
原文:https://blog.csdn.net/time_hunter/article/details/53107191
版权声明:本文为博主原创文章,转载请附上博文链接!
更多相关文章
- Android系统源码阅读(17):Android(安卓)应用的安装
- guest mode 无法record audio
- Android(安卓)P PackageManagerService 初始化流程
- Android系统修改汇总(MTK)
- android things中与标准android系统不同的地方
- android系统信息(内存,cpu,sd卡,电量,版本)的获取
- Android获取系统时间以及网络时间
- Mac系统下Android(安卓)SDK更新以及ADT无法在线下载
- 关于Android系统 和 Android应用程序