
ActivityManagerService
文章平均质量分 97
为码消得人憔悴
昨夜西风凋碧树,独上高楼,望尽天涯路。
衣带渐宽终不悔,为伊消得人憔悴。
众里寻他千百度,蓦然回首,那人却在,灯火阑珊处。
展开
-
ActivityManagerService解读之进程管理
简介ActivityManagerService(后续简称为ams)是Android系统框架层中的一个很重要的服务,负责Android四大组建的启动和管理,进程的创建和调度。接下来,咱们今天就来聊聊ams对进程的创建和调度。参考于Android P代码。进程Android系统将尽可能的长时间的保持应用进程,当Android系统内存不足的时候,为了新建进程或运行更重要的进程,最终需要移除...原创 2018-08-28 15:37:53 · 1874 阅读 · 0 评论 -
ActivityManagerService解读之Activity启动闲聊--以TaskSnapshot为点切入AndroidView绘制原理分析
ActivityManagerService解读之进程管理开始,我们大大小小已经有11篇文章专门分析了Android系统服务ActivityManagerService,总结一句话ActivityManagerService在Android系统中主要负责对应用进程和Android四大组件进行管理。本篇将以TaskSnapshot为点切入Android View界面绘制相关的指点并对其进行详细解读分...原创 2019-03-27 21:21:52 · 4988 阅读 · 2 评论 -
ActivityManagerService解读之Activity启动闲聊--Activity启动窗口和TaskSnapshot
什么是Activity的启动窗口?为什么存在这样的一个窗口?什么是TaskSnapshot?啥也不说了,直接带着这些个问题开始本篇的闲聊。什么是Activity的启动窗口,为什么存在这样的一个窗口?我们先来一个动图直观的了解一下。首先我们点击启动我们的测试demo,看见蓝色的界面没有,那就是Activity的启动窗口。Android在Activity启动的时候,当应用界面还未显示出来...原创 2019-03-19 19:49:56 · 3621 阅读 · 1 评论 -
ActivityManagerService解读之Activity启动时间闲聊--Android Framework层时间计算介绍
从ActivityManagerService解读之Activity启动初探,到ActivityManagerService解读之Activity启动再探,到ActivityManagerService解读之Activity启动再探-细节补充ActivityStarter中方法属性介绍,再到ActivityManagerService解读之Activity启动三探--Activity中Task与S...原创 2018-12-19 14:19:36 · 2546 阅读 · 1 评论 -
ActivityManagerService解读之Activity启动三探--Activity中Task与Stack
简介ActivityManagerService中对Activity的管理都是以Task的形式,任务Task是指在执行特定作业时与用户交互的一系列 Activity, 这些 Activity 按照各自的打开顺序排列在堆栈Stack中,AMS中分别以TaskRecord和ActivityStack表示,Activity则用ActivityRecord表示。因此我们也可以这么认为ActivityM...原创 2018-12-11 15:43:06 · 2113 阅读 · 0 评论 -
ActivityManagerService解读之Activity启动时间闲聊--优雅的优化我们应用的启动时间
ActivityManagerService解读之Activity启动时间闲聊--Android Framework层时间计算介绍一文从Android Framework角度杂谈了一波应用启动时系统各种时间计算的整个过程。想要获取我们开发的应用启动的详细时间,直接使用Android系统提供的“adb shell am start -W -S”命令,如下所示,这个命名会很优雅的输出你的应用启动过程的...原创 2018-12-22 19:56:28 · 2575 阅读 · 0 评论 -
ActivityManagerService解读之Activity启动再探-细节补充ActivityStarter中方法属性介绍
ActivityManagerService解读之Activity启动再探介绍了当我们使用不同的启动模式启动,或在AndroidManifest文件中为Activity配置了不同的属性,又或在启动时Intent中添加了各种flag,其中关于启动模式的选择和Intent flag的处理都进本在ActivityStarter类中完成,其中的一些代码细节和处理方法,在前文中并未详细介绍,本文将补充对Ac...原创 2018-11-24 17:02:39 · 1734 阅读 · 0 评论 -
ActivityManagerService解读之Activity启动再探
ActivityManagerService解读之Activity启动初探一文以启动Log为切入点重点偏于流程分析,概要的介绍了AndroidActivity启动。本文将将从Activity启动模式选则,设置不同Intent Flag以及Activity在AndroidManifest文件中不同的设置对Activity Task影响为点,来再次分析Activity启动。本文将更多的涉及Androi...原创 2018-11-23 18:46:14 · 931 阅读 · 0 评论 -
Android P Basic lifecycle transaction containers改动--设计模式体现之策略模式
整理Activity启动流程时发现,Android P代码在android/app作了很大的改动。如果您对Activity启动还未了解,建议您看这篇文章。针对这次改动,Google官方给出的解释如下:This adds basic containers for holding some messages to a client,that are related to activity li...原创 2018-09-28 22:17:13 · 463 阅读 · 2 评论 -
ActivityManagerService解读之Activity启动初探
Activity是Android四大组建之一,负责用户交互界面展示,其重要性不可言喻。Android系统由ActivityManagerService负责管理Activity。熟悉Activity的启动,将对我们学习了解ActivityManagerService大有裨益。本文基于AndroidP将以首次点击桌面应用图标的方式为线,分析Activity的启动,包括分析应用进程启动。文中将涉及不少应...原创 2018-09-28 14:42:17 · 7926 阅读 · 0 评论 -
ActivityManagerService解读之进程管理computeOomAdjLocked方法
上一篇文章我们介绍了updateOomAdjLocked,我们将其分为了五个部分更新前的初始化,计算进程oom,设置进程oom,主动回收一些内存,计算进程pss进行扫尾结束工作。本篇将详细介绍部分之二计算进程oom代码分析分析computeOomAdjLocked之前,我们先重温一下进程oom和Android进程分类相关的基础知识以及补充一些相关的后续分析将要用的一些信息。Android中...原创 2018-08-30 16:57:52 · 2212 阅读 · 0 评论 -
ActivityManagerService解读之进程管理updateOomAdjLocked方法
经过前面的ActivityManagerService解读之进程管理的介绍,我们知道AMS对进程的管理主要体现于更新LRU集合和更新进程OOM值两个方面。限于篇幅,前一篇没有对更新进程OOM的updateOomAdjLocked方法深入分析,只是介绍了原理。本篇将会详细分析updateOomAdjLocked方法。代码分析ActivityManagerService中updateOomAd...原创 2018-08-30 10:25:32 · 3338 阅读 · 0 评论 -
ActivityManagerService解读之进程管理(相关信息持续补充)
在介绍updateOomAdjLocked方法之前,我们先补充一些进程相关的信息,便于后续更好的理解。进程/轻量级进程状态S:Suspended 可中断的睡眠,可能是由于输出 Trace、GC 或 debug 被暂停 R:Running/Runnable 运行或就绪状态 D:Disk Sleep 不可中断的睡眠,通常是在等待 I/O,比如磁盘 I/O、网络 I/O...原创 2018-08-29 16:52:34 · 834 阅读 · 0 评论