当前位置: 首页 > news >正文

Android framework系列2 - Init进程

1、源码

入口:system/core/init/main.cpp

2 流程图

https://note.youdao.com/s/EtnCswft
在这里插入图片描述

3、代码详解

在这里插入图片描述
主入口共三步,如流程图所示,我们主要看下最后一步
在这里插入图片描述
入口在init.cpp下,这个阶段主要来解析init.rc并执行此文件下的命令
看到解析函数如下:
在这里插入图片描述
在这里插入图片描述
这里我们看到在解析init.rc,文件内容如下
在这里插入图片描述
可以看到这个文件下有很多命令,这里查找下我们关注的内容
zygote调用
在这里插入图片描述
serviceManager 服务进程
在这里插入图片描述
解析后放到了am、sm下

  ActionManager& am = ActionManager::GetInstance();ServiceList& sm = ServiceList::GetInstance();

接下来我们看下执行
在这里插入图片描述
这里我们看到了循环执行,空闲则等待

http://www.lryc.cn/news/30452.html

相关文章:

  • 2023年“网络安全”赛项江苏省淮安市选拔赛 任务书
  • 2023年Wireshark数据包分析——wireshark0051.pcap
  • SpringMVC的自定义配置和自动化配置
  • 画图说透 ZooKeeper如何保证数据一致性:选举和ZAB协议
  • 错误异常捕获
  • js垃圾回收机制
  • YApi分析从NoSQL注入到RCE远程命令执行.md
  • 【C++】stl_list介绍和实现,list和vector区别,list vector string 迭代器失效
  • linux-kernel-ecmp-ipv4
  • 蒙特卡洛树搜索(MTCS)
  • 【Verilog】——Verilog简介
  • 【Python从入门到进阶】10、流程控制语句-循环语句(for-while)
  • 超全的命令(代码)执行漏洞无回显的姿势总结(附带详细代码和测试分析过程)
  • STM32MP157-Linux音频应用编程-简易语音助手
  • Python-OpenCV图像处理:学习图像算术运算,如加减法、图像混合、按位运算,以及如何实现它们
  • 并发编程——ReentrantLock
  • English Learning - L2 第 3 次小组纠音 [ʌ] [ɒ] [ʊ] [ɪ] [ə] [e] 2023.3.4 周六
  • STM32之关门狗
  • Apollo控制部分1-- ControlComponent组件介绍
  • 0626-0631韩顺平Java Buffered字节处理流 学习笔记
  • 【网络】序列化和反序列化
  • 【代码随想录训练营】【Day32】第八章|贪心算法|122.买卖股票的最佳时机II |55. 跳跃游戏|45.跳跃游戏II
  • constexpr 和 常量表达式
  • Vue响应式原理————Object.defineProperty()和proxy的用法分享
  • CSDN 编程竞赛三十四期题解
  • C#教程06 运算符
  • 软测入门(六)pytest单元测试
  • 经典分类模型回顾5—DenseNet实现图像分类(matlab)
  • 基于flask+bootstrap+echarts+mysql的鱼村小馆订餐后台管理系统
  • Spark使用Log4j将日志发送到Kafka