6.2.5 初识ActivityManagerService总结
本节所分析的4个关键函数均较复杂,与之相关的知识点总结如下:
AMS的main函数:创建AMS实例,其中最重要的工作是创建Android运行环境,得到一个ActivityThread和一个Context对象。
AMS的setSystemProcess函数:该函数注册AMS和meminfo等服务到ServiceManager中。另外,它为system_server创建了一个ProcessRecord对象。由于AMS是Java世界的进程管理及调度中心,要做到对Java进程一视同仁,尽管system_server贵为系统进
程,此时也不得不将其并入AMS的管理范围内。
AMS的installSystemProviders函数:为system_server加载SettingsProvider。
AMS的systemReady函数:做系统启动完毕前最后一些扫尾工作。该函数调用完毕后,Home Activity将呈现在用户面前。
对AMS调用轨迹分析是我们破解AMS的第一条线,希望读者反复阅读,以真正理解其中涉及的知识点,尤其是和Android运行环境及Context相关的知识。