专栏名称: 鸿洋
你好,欢迎关注鸿洋的公众号,每天为您推送高质量文章,让你每天都能涨知识。点击历史消息,查看所有已推送的文章,喜欢可以置顶本公众号。此外,本公众号支持投稿,如果你有原创的文章,希望通过本公众号发布,欢迎投稿。
目录
相关文章推荐
郭霖  ·  Android Resource资源管理 ·  2 天前  
郭霖  ·  一文了解 Gradle 插件 ·  5 天前  
今天看啥  ›  专栏  ›  鸿洋

Android大脑--systemserver进程

鸿洋  · 公众号  · android  · 2024-08-20 08:35
    

主要观点总结

本文介绍了Android系统中的systemserver进程,它是一个既可以运行Java代码也可以运行C和C++代码的全能型进程,负责管理Android系统中运行Java代码的进程。systemserver进程拥有许多服务,通过binder通信来使其他进程能够使用这些服务。它的启动过程涉及到解决多服务带来的启动问题,包括管理service、对service分类以及分发启动阶段信号。在启动过程中,会依次启动不同的服务,并通过特定的启动阶段信号通知各服务当前的状态。systemserver进程会一直处于运行状态,直到设备关机或重启。

关键观点总结

关键观点1: systemserver进程的角色

systemserver是一个管理Android系统中运行Java代码进程的全能型进程,拥有众多服务。

关键观点2: systemserver进程的管理职责

systemserver进程负责管理和调度由zygote进程孵化的所有运行Java代码的进程。

关键观点3: service间的通信方式

service间通过binder通信进行通信,允许其他进程使用service提供的功能。

关键观点4: 启动过程中的管理策略

在启动过程中,通过管理service、对service分类以及分发启动阶段信号来解决多服务带来的启动问题。

关键观点5: 启动阶段信号

在启动过程中,通过发送不同的启动阶段信号来通知各服务当前的状态,如PHASE_BOOT_COMPLETED信号代表启动完成。

关键观点6: systemserver进程的运行状态

systemserver进程会一直运行,直到设备关机或重启,期间通过管理各种服务来确保系统的正常运行。


文章预览

本文摘要 系统native进程的文章就先告一段落了,从这篇文章开始写Java层的文章,本文同样延续自述的方式来介绍 systemserver 进程,通过本文您将了解到 systemserver 进程是啥?它包含那么多的服务,是如何管理它们的?如何启动它们的?(文中代码基于Android13) 本文大纲: 1. 我是谁 2. 我的出生 3. 我的启动 4. 总结 1 我是谁 我是一个进程,是一个既可以运行Java代码也可以运行C和C++代码的全能型选手,不像我的“叔叔辈儿”如 logd进程 、 lmkd进程 只能运行C和C++代码。我拥有全能型能力还要感谢我的“父亲” zygote ,因为他是全能型的,所以我才把这些能力继承了过来。 我的uid是1000,uid是啥呢?它与你们人类的身份证一样,每个安装到Android设备上的程序都有一个uid,只要apk被安装就分配一个唯一的uid,只要apk不卸载,这个uid是不会变化的。uid为0也就是ro ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览