当前位置:首页 » 安卓系统 » android启动app流程

android启动app流程

发布时间: 2022-09-28 14:37:55

㈠ 如何查看androidapp启动过程

启动的过程如下:
Shell接收到命令,启动一个程序,此时shell首先会fork一个新的进程
新fork的进程,通过execve系统调用,陷入到内核中,内核检查和加载需要执行的二进制映像文件,检验其合法性及权限。通常用户态进程要启动一个新的程序(如shell),fork后,execve要紧跟着执行,这样会有更好的效率(由于使用COW技术,这样可以避免页表复制,而execve后,之前进程中的所有内容都是无用的,若execve紧跟fork后,可以避免COW引起的拷贝);
通常二进制文件都会要依赖一些系统动态库,此时kernel会启动加载器/system/bin/linker,执行linker的__linker_init()
Linker的linker_init(),会分析二进制的elf文件,加载依赖的动态库文件,然后转入二进制映像的入口函数__start中执行
__start会调用C库的初始化函数__libc_init()
__libc_init()会调用映像的main函数,这个main函数也就是用户app的入口函数
main() 函数执行完毕后,通过exit()退出进程执行

㈡ Android app 启动时 Application、类加载器的初始化过程

这是一篇听过朋友分享后,继续深挖 ClassLoader 部分的收获;

这是已篇还需要继续整理一下 内容逻辑的文章……

当 app 启动时 ActivityManagerService.startProcessLocked() 是 app 启动时启动进程的地方

这里 对 Zygote.forkSystemServer() 这个方法做个说明,它的 返回值为三种:

水平有限,有错误的地方,多多指出,谢谢~~~

参考链接:

㈢ Android应用启动之从Launcher拉起APP时序图

Android应用启动之从Launcher拉起APP(一)
Android应用启动之从Launcher拉起APP(二)
Android应用启动之从Launcher拉起APP(三)
Android应用启动之从Launcher拉起APP时序图

㈣ 求讲解一下安卓运行一个APP的详细过程

在软件商店或者浏览器下载,打开下载的安装包,同意它要进行的限权,开始安装,安装后找到安装的软件,点击开始使用

热点内容
c服务编译耗时优化原理及实例 发布:2024-05-03 15:35:26 浏览:15
ue编程 发布:2024-05-03 15:34:40 浏览:610
经典的c语言程序 发布:2024-05-03 15:03:24 浏览:859
工程加密网 发布:2024-05-03 14:59:55 浏览:292
吃冰球解压 发布:2024-05-03 14:59:10 浏览:895
编译芯片发烫 发布:2024-05-03 14:59:05 浏览:549
优化算法pdf 发布:2024-05-03 14:18:10 浏览:291
python算法书 发布:2024-05-03 14:14:25 浏览:736
方舟怎么加入服务器闪退 发布:2024-05-03 14:05:27 浏览:491
安卓心跳怎么打出来 发布:2024-05-03 13:59:23 浏览:100