android 启动过程
android系统启动的时候首先会启动Linux的基础进程,加载Linux kernel启动初始化(init)进程。
接着,回启动Linux deamon(守护进程)会启动以下的内容:
①启动USBdusb管理守护进程来管理USB连接。
②启动adb守护进程来管理adb连接
③启动debugged守护进程来管理调试程序请求。
④启动ridle守护进程来管理无线管理进程. 请看图:
在启动init进程会启动守护进程同时,同时还会启动一个zygnote进程,其步骤如下:
①初始化一个davilk虚拟机实例
②装载一个socket请求所需的类和监听
③创建虚拟机实例来管理虚拟机的实例 如图所示:
再接着,需要初始化Runtime进程,其过程如下:
①注册服务管理器
②注册服务管理器,他作为默认的binder作为context管理器。
经接着,一个Runtime进程请求到zygnote创建一个davilk虚拟机的实例,如图:
这样,一个android实例已经启动了。
android 启动过程相关推荐
- Android启动过程深入解析【转】
转自:http://www.open-open.com/lib/view/open1403250347934.html 当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么 ...
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread 流程分析 二 )
文章目录 前言 一.ActivityManagerService.attachApplicationLocked 二.ActivityStackSupervisor.attachApplication ...
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 二 )
文章目录 前言 一.ActivityThread 类 handleLaunchActivity -> performLaunchActivity 方法 二.Instrumentation.new ...
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 一 )
文章目录 前言 一.ClientTransactionHandler.scheduleTransaction 二.ActivityThread.H 处理 EXECUTE_TRANSACTION 消息 ...
- 【Android 启动过程】Activity 启动源码分析 ( AMS -> ActivityThread、AMS 线程阶段 二 )
文章目录 前言 一.热启动与冷启动选择 二.AMS 进程中执行的相关操作 三.通过 Binder 机制转到 ActivityThread 中执行的操作 总结 前言 上一篇博客 [Android 启动过 ...
- Android启动过程深入解析
当按下Android设备电源键时究竟发生了什么? Android的启动过程是怎么样的? 什么是Linux内核? 桌面系统linux内核与Android系统linux内核有什么区别? 什么是引导装载程序 ...
- Android启动过程以及各个镜像的关系
Android启动过程 Android在启动的时候,会由UBOOT传入一个init参数,这个init参数指定了开机的时候第一个运行的程序,默认就是init程序,这个程序在ramdisk.img中.可以 ...
- Android 启动过程简析(一)之 init 进程
问题 在进入到 Android 启动过程之前先让我们思考以下几个问题 Android 系统的启动过程是怎样的? init .zygote 进程是什么?在系统启动的过程中各自发挥了什么作用? AMS.P ...
- 从Android启动过程中kernel日志确认Flash(分区)大小
直接上Android启动过程中kernel日志: [ 0.877387] mmc0: MAN_BKOPS_EN bit is not set [ 0.878355] mmc_host mmc0: Bu ...
- Android启动过程中执行一个C语言的应用程序或者执行shell脚本
Android启动过程中执行一个C语言的应用程序或者执行shell脚本 一.Android启动过程中去对系统做一些设置,如修改某些文件夹的属性和文件的权限,可在init.rc中增加service执行s ...
最新文章
- LLDB命令查看内存的分配历史
- Do a test write by windows live writer
- 嵌入式中的 *(volatile unsigned int *)0x500 解释
- 机器学习cae_CAE工程分析技术年会记
- python中do的用法,如何使用docplex(python)对优化问题中的约束进行建模?
- 小程序空显示undefined_微信小程序显示ESP8266上传的实时显示温湿度数据
- windows安装logstash6.2.3
- #上位机开发大师之路# 管理员登陆模块开发
- 白话区块链 之1: 为什么账本要这么记?
- ftp服务器无法上传文件,ftp无法上传文件的原因
- 即将到来的Xcode8 都更新了什么?
- 一秒知道光纤、光缆、跳线、尾纤、连接器类型
- 聊聊这8种单例模式的优缺点
- 华为---ACL配置
- 脑肠轴——看不见的Crosstalk
- 最新电脑CPU天梯图
- python简单爬虫 指定汉字的笔画动图下载
- 2023年微信公众号留言功能怎么开启?公众号留言功能怎么开通
- 基于Springboot+Vue网上试衣镜服装穿搭网站设计
- UnicodeEncodeError: ‘latin-1‘ codec can‘t encode characters
热门文章
- 微课竞赛系统的设计与实现所需工作条件_工作室文化建设展示(3)
- Python练习1-文档格式化成html
- hdu 5045 费用流
- hdu1501 记忆化搜索
- 计算机网络第二章:物理层
- 【Android 逆向】函数拦截 ( ARM 架构下的插桩拦截 | 完整代码示例 )
- 【Android 逆向】函数拦截 ( 修改内存页属性 | x86 架构插桩拦截 )
- 【Flutter】侧拉导航栏实现 ( Drawer 组件 | PageView 组件 )
- 【Flutter】Flutter 开发环境搭建 ( Android Studio 下 Flutter / Dart 插件安装 | Flutter SDK 安装 | 环境变量配置 | 开发环境检查 )
- jQuery 轮播图