init的工作流程: a) 解析两个配置文件; b) 执行各个阶段的动作,创建zygote的工作就是在其中某个阶段完成的。 c) 调用property_init初始化属性相关的资源,并且通过property_start_service启动属性服务; d) init进入一个无限循环,并且等待一些事情的发生。
keywords.h的作用: a) 第一次包含keywords.h时,它声明了一些诸如do_class_start的函数,另外还定义了一个枚举。 b) 第二次包含keywords.h后,得到一个keyword_info结构体数组,这个keyword_info结构体数组以前面定义的枚举值作为索引,存储对应的关键字信息,这些信息包括关键字名称、处理函数、处理函数的参数个数,以及属性。