01 2019 档案
摘要:AMS对象随系统进程启动而构建,随着系统进程退出而消亡,可以说,AMS与系统进程共存亡。 先上一张总的启动时序图: 上图分为三个步骤: 1.初始化系统进程的运行环境 SystemServer是我们理解Android系统进程的入口,它的初始化是从Native层开始的:Zygote从Native层调用S
阅读全文
摘要:标准启动Standard模式版本差异: 在Lollipop之前,每次以MULTIPLE启动的Activity都会被压入当前任务的顶部,启动 N 次,在当前任务就会出现 N 个Activity的实例,每次Back键就会销毁一个,直到按了 N 次Back键。 从Lollipop开始,如果要以MULTIP
阅读全文
摘要:1. 概览 Activity的管理有静态和动态两层涵义: 静态是指Activity的代码组织结构,即Application中声明的Activity的集合,这些Activity被组织在一个APK中,有特定的包名。 在编写应用程序时,Activity对应到用户界面,它定义了用户界面的布局、交互行为、启动
阅读全文
摘要:activity-alias标签元素众所周知,AndroidManifest是一个xml文件,它包含很多标签元素,如application、activity、receiver等,其中有一个叫做activity-alias,因为该标签平时很少用到,可能大家对这个标签还不是很熟悉。 activity-a
阅读全文
摘要:ANR监测机制包含三种: Service ANR,前台进程中Service生命周期不能超过20秒,后台进程中Service的生命周期不能超过200秒。 在启动Service时,抛出定时消息SERVICE_TIMEOUT_MSG或SERVICE_BACKGOURND_TIMEOUT_MSG,如果定时消
阅读全文
摘要:1. Watchdog初始 Watchdog的中文的“看门狗”,有保护的意思。最早引入Watchdog是在单片机系统中,由于单片机的工作环境容易受到外界磁场的干扰,导致程序“跑飞”,造成整个系统无法正常工作,因此,引入了一个“看门狗”,对单片机的运行状态进行实时监测,针对运行故障做一些保护处理,譬如
阅读全文
摘要:1.日志获取 Watchdog相关的问题甚至需要以下所有的日志: logcat 通过adb logcat命令输出Android的一些当前运行日志,可以通过logcat的 -b 参数指定要输出的日志缓冲区,缓冲区对应着logcat的一种日志类型。 高版本的logcat可以使用 -b all 获取到所有
阅读全文