文章目录
前言
一、Android 进程
二、Android 应用启动流程
前言
参考 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ ) 博客 , /proc/ 目录中存放的是所有进程相关信息 ;
一、Android 进程
Android 操作系统中运行程序 , 首先要给程序分配内存 , 除内存外 , 程序运行还需要 文件 , 套接字 等维持其运行 ; 每个程序都需要一套上述机制 , 才能保证运行 ;
为了解决上述问题 , 引入进程机制 , 进程是操作系统中最小的资源调度单位 , 被调度的资源包括 CPU , 内存 , 存储空间 等 ;
执行 ps -ef 可以打印出当前正在运行的所有进程 ;
进程中 , 除进程号之外 , 其它元素都可能会重复 ;
应用 与 进程 的对应关系是 一对多的关系 , 一个应用可能有多个进程 ;
一个进程 只可能对应 一个应用 ;
二、Android 应用启动流程
Android 中的 ActivityManagerService 就是用于管理应用进程的 ;
用户点击应用图标 , 请求 ActivityManagerService 启动某个应用 , ActivityManagerService 会向 Zygote 发出创建应用的请求 , 应用进程实际上是有 Zygote 创建的 ;
zygote 也是进程 ;