![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android 进程管理
该专栏会从AMS的角度来分析进程管理,包括:1.进程优先级管理;2.进程清理;3.进程调度等
Proton.Chen
Stay hungry, stay foolish
展开
-
进程管理之进程优先级
前言进程优先级实际上是系统对进程重要性的一个客观评价。根据这个评价的结果来为进程分配不同的系统资源,这个资源包括内存资源和CPU资源。为了保证“公平公正”的评价每个进程,Google工程师为此设计了一套评价系统。本文试图从面相对象的角度和功能设计者角度来理解该功能,具体思路如下:要实现一个功能,有必要的时候我们会去为他制定一些属性,对于设计者而言这些属性肯定是必须的,因此作为使用者我们必须...原创 2019-12-28 14:30:55 · 3409 阅读 · 1 评论 -
Android 进程管理之ADJ 定义简化版
下面说的adj定义的条件,前置条件是它已经不再持有更高优先级的条件了,比如说:HOME_APP_ADJ = 600,我们说某个应用的adj = 600,条件是指该应用是isHomeProcess()为true.那么隐含的条件就是,他不再持有更高优先级了,比如:它不再是前台了。一、ProcessList.FOREGROUND_APP_ADJ = 0应用处在以下状态的时候...原创 2020-03-04 21:38:59 · 2166 阅读 · 0 评论 -
AMS 几种主动清理内存的几种方式
一、通过杀empty进程和cache进程来释放内存如果空进程的个数大于mConstants.CUR_TRIM_EMPTY_PROCESSES(CUR_TRIM_EMPTY_PROCESSES 的这个依据配置值的不同而不同,具体的可以见updateMaxCachedProcesses这个函数),并且该应用的上次活跃的时间,大于半个小时,这活跃是指该应用有相关组件在活动比如:在处理广播 空...原创 2020-03-08 22:43:32 · 3881 阅读 · 0 评论