1、PackageManagerService 类图关系画
PackageManagerService是Android系统核心服务之一,也是Android中最常用的服务之一。
客户端通过Context.getPackageManager()得到ApplicationPackageManager对象
ApplicationPackageManager的对象调用invokeMethod会调用到IPackageMamager的Proxy代理方法
然后通过IBinder机制与服务端的PackageManagerservice通信。并调用其方法。
2、安卓 安装APK的原理是什么?
将apk复制到指定目录,然后扫描指定目录的apk
3、Launch怎么显示应用的
package/apps/Launched3 跨进程访问PKMS得到的应用信息
4、安卓开机很慢的原因
PKMS构造函数和dex优化这两处耗时
5、MainActivity 跳转 Main2Activity {launcMode} 请问launcMode什么时候解析的?
再PKMS构造函数的时候就已经扫描给PKMS解析到内存了
6、手机开机后,我们为什么能接收到广播
手机开机时,PKMS构造函数,就已经扫描了所有APK清单文件,对静态广播进行了注册
PKMS的启动
1、Linux硬件驱动driver 2、init 3、zygote 4、SystemServer核心进程 5、startBootStrapServices核心进程 第一步、启动installs服务 第二步、获取设备是否加密 第三步、调用PKMS构造以实例化 开始阶段 系统扫描阶段 Data扫描阶段 扫描结束阶段 就绪阶段 第四步、设备加密操作 startCoreServices startOtherServices 第五步、dex优化操作 第六步、磁盘优化 第七步、PKMS准备就绪