Android 启动流程: Init.c 阅读笔记
2010-09-10 00:55:00 来源:WEB开发网核心提示:不能干预到他们,- /system/build.prop- /system/default.prop- /data/local.prop- 在读取默认的property 后读取presistent propertie ,Android 启动流程: Init.c 阅读笔记(2),在/data/property 中- 为s
不能干预到他们。
- /system/build.prop
- /system/default.prop
- /data/local.prop
- 在读取默认的property 后读取presistent propertie ,在/data/property 中
- 为sigchld handler 创建信号机制
- 确认所有初始化工作完成
- device_fd(device init 完成)
- property_set_fd(property server start 完成)
- signal_recv_fd ( 信号机制建立)
- 执行所有触发标识为early-boot 的action
- 执行所有触发标识为boot 的action
- 基于当前property 状态,执行所有触发标识为property 的action
- 注册轮询事件:
- device_fd
- property_set_fd
-signal_recv_fd
- 如果有keychord ,则注册keychord_fd
- 如果支持BOOTCHART, 则初始化BOOTCHART
- 进入主进程循环:
- 重置轮询事件的接受状态,revents 为0
- 查询action 队列
- 重启需要重启的进程
- 轮询注册的事件
- 如果signal_recv_fd 的revents 为POLLIN ,则得到一个信号,获取并处理
- 如果device_fd 的revents 为POLLIN, 调用handle_device_fd
- 如果property_fd 的revents 为POLLIN, 调用handle_property_set_fd
- 如果keychord_fd 的revents 为POLLIN, 调用handle_keychord
更多精彩
赞助商链接