声明
- 只要是操作系统,不用说的就是其中肯定会运行着一些很多守护进程(daemon)来完成很多杂乱的工作。通过系统中的init.rc文件也可以看出来,其中每个service中就包含着系统后台服务进程。
- 而这些服务被分为:core类服务(adbd/servicemanager/healthd/lmkd/logd/vold)和main类服务;
- main类服务又分为:网络类服务(netd/mdnsd/mtpd/rild)、图形及媒体类服务(surfaceflinger/bootanimation/mediaserver/drmserver)、其他类服务(installd/keystore/debuggerd/sdcard/Zygote)
1 分析
应用在运行时难免会有崩溃的情况。为了修复这些 bug,系统中必须要提供一个有效的机制,来收集应用崩溃时的数据。在Linux系统中,崩溃会产生一个核心转储 (core dump),但是在Android设备中,此功能默认是关闭的。因为核心转储通常都会很大(动辄几百 MB 甚至更大)。
Android 中引入了 debuggerd 来解决这个问题。这个守护进程在正常情况下一直是处于休眠