Android App安装以及启动流程

2019-10-24  本文已影响0人  arvinljw

App 安装

Android App的安装可以分为有界面的安装和无界面的安装。

有界面的安装其实就是调用系统App(PackageInstaller)去安装apk,打开安装apk应用之后,点击安装按钮执行startInstall方法,然后就进入安装中界面开始安装,安装成功或者失败都会有对应的回调。内部其实也是使用PackageManager的installExistingPackage方法,通过binder机制,调用到PackageManagerService的installExistingPackage方法,最终调用到installExistingPackageAsUser方法安装,而安装的核心原理其实就是将apk文件拷贝到系统可识别的重要的文件目录

无界面安装是调用adb命令,执行到一个c写的commandline脚本,调用install_app方法,然后再调用pm_command,然后执行到pm脚本,执行run方法,调用runinstall,然后调用installPackageAsUser通过AMS执行安装。

App应用启动流程

说到App的启动,就需要从开机开始说起,Android开机会先把所有应用安装一遍就是把apk拷贝到对应的目录(这也是Android开机慢的原因)。

整个流程如下:

其实App的启动,除了刚开机是不一样之外,正常时候基本与Activity的启动非常接近。

总结

上一篇下一篇

猜你喜欢

热点阅读