博客
关于我
Android进阶解密读书笔记5——第3章:应用程序进程启动过程——第1、2、3、4小节
阅读量:588 次
发布时间:2019-03-11

本文共 639 字,大约阅读时间需要 2 分钟。

第2章我们学习了 Android 系统的启动流程,系统启动后,我们比较关心应用程序是如何启动的,启动一个应用程序首先要保证该应用程序的进程已经被启动,本章我们就来学习应用程序进程启动过程。需要注意,是“应用程序进程启动过程”,不是“应用程序启

动过程”,关于应用程序启动过程(根 Activity 启动过程)将在第 章进行讲解。

3.1、应用程序进程简介

要想启动一个应用程序,首先要保证这个应用程序所需要的应用程序进程已经启动。AMS在启动应用程序时会检查这个应用程序需要的应用程序进程是否存在,不存在就会请求Zygote 进程启动需要的应用程序进程。在 2.2 节中,我们知道在 Zygote的Java 框架层中会创建 Server 端的 Socket ,这个 Socket 用来等待 AMS 请求 Zygote 来创建新的应用程序进程。Zygote 进程通过 fock 自身创建应用程序进程,这样应用程序进程就会获得 Zygote进程在启动时创建的虚拟机实例。当然,在应用程序进程创建过程中除了获取虚拟机实例外,还创建了 Binder 线程地和消息循环,这样运行在应用进程中的应用程序就可以方便地使用 Binder 进行进程间通信以及处理消息了。

3.2、应用程序进程启动过程介绍

应用程序进程创建过程的步骤比较多,这里分为两个部分来讲解,分别是AMS发送启动应用程序进程请求,以及 Zygote 接收请求并创建应用程序进程。

3.2.1、AMS 发送启动应用程序进程请求

 

 

转载地址:http://qpvtz.baihongyu.com/

你可能感兴趣的文章
mysql 审核_审核MySQL数据库上的登录
查看>>
mysql 导入 sql 文件时 ERROR 1046 (3D000) no database selected 错误的解决
查看>>
mysql 导入导出大文件
查看>>
MySQL 导出数据
查看>>
mysql 将null转代为0
查看>>
mysql 常用
查看>>
MySQL 常用列类型
查看>>
mysql 常用命令
查看>>
Mysql 常见ALTER TABLE操作
查看>>
MySQL 常见的 9 种优化方法
查看>>
MySQL 常见的开放性问题
查看>>
Mysql 常见错误
查看>>
mysql 常见问题
查看>>
MYSQL 幻读(Phantom Problem)不可重复读
查看>>
mysql 往字段后面加字符串
查看>>
mysql 快照读 幻读_innodb当前读 与 快照读 and rr级别是否真正避免了幻读
查看>>
MySQL 快速创建千万级测试数据
查看>>
mysql 快速自增假数据, 新增假数据,mysql自增假数据
查看>>
MySql 手动执行主从备份
查看>>
Mysql 批量修改四种方式效率对比(一)
查看>>