美文网首页AndroidDevGpt
Android FrameWork(一)

Android FrameWork(一)

作者: Mr_不靠谱_先森 | 来源:发表于2023-04-12 22:09 被阅读0次

Android FrameWork(一)

第一个启动的程序—init


知识回顾:

源码分析:
  • main.cpp入口
    —>first_stage_init.cpp 挂载文件系统文件
    init.cpp 首先初始化内存空— 创建Epoll—InstallSignalFdHandler(Epoll)注册Epoll监听—startPropertyService 调用函数把服务拉起来
    property_service.cpp
    创建CreateSocket 创建监听

  • LoadBootScripts 加载配置文件 创建解析器parser


拓展知识:
  • Android的架构分层:

application
framework
libraries runtime
linux

  • I/O多路复用

Select-->poll—>epoll 区别
Select -->数组 大小限制1024. 性能
Poll -->链表 没有大小限制 性能 系统上下文切换
Epoll-->红黑树 O(1)基于事件 fd 写操作唤起对应读操作端


总结:

1,FirstStageMain()挂在文件系统以及创建目录 调用selinux_setup
2,上线文审查
3,属性服务开启,创建Epoll 注册监听Epoll 子进程的一些情况 (重启异常操作等,对子进程进行线程守护)
4,startPropertyServic 开启属性服务 进行监听
5,LoadBootScripts 加载init.rc文件 进行解析 调用do_class_service文件
6,init.rc

相关文章

网友评论

    本文标题:Android FrameWork(一)

    本文链接:https://www.haomeiwen.com/subject/xgyuddtx.html