1.引言
之前把init过程都记录了下,今天的任务就是复习之前的笔记,按照步骤打印log。看看是不是那么回事。
2.正题
总结下init过程一次调用的方法:
init.cpp
-
property_init()
- system_property_area_init() //初始化共享内存
-
start_property_service
- create_socket //创建服务端的socket接受请求
- register_epoll_handler //将属性处理方法与socket绑定
- handle_property_set_fd //正在处理属性请求的方法,内置peoperty_set方法等同于setValue
-
init_parse_config_file //解析init.rc
- parse_config_file
- parse_config
- parse_new_section
- parse_line_action //将命令添加进双重list。
- early-init (执行early init 下面的命令 )
- init (执行init下面的命令 )
- late-init (执行late-init下面的命令 )
-
boot (执行early init 下面的命令 )
执行boot命令,会调用start_service 方法然后产生了zygote。
截图如下: