Android面试题——掘金-Framework之PMS(2.4)
一 概述
1 | PMS(PackageManagerService)是 Android Framework 中的核心服务, |
二 面试题解答(仅供参考)
2.1 PMS(PackageManagerService)是什么?
1 | PMS 是 Android 应用管理的核心服务,运行在 SystemServer 进程 中,主要功能: |
2.2 PMS 是如何启动的?
1 | PMS 在 SystemServer 进程启动时初始化,流程: |
2.3 APK 安装流程?
1 | 当执行 pm install xxx.apk 或 PackageInstaller 进行安装时,流程如下: |
2.4 APK 卸载流程?
1 | 当执行 pm uninstall xxx,流程如下: |
2.5 APK 是如何存储和管理的?
1 | PMS 通过以下目录存储应用信息: |
2.6 PackageManager 如何查询已安装应用?
1 | 1.应用查询 getPackageManager() 时,会通过 PMS 获取应用信息 |
2.7 PMS 如何校验 APK 签名?
1 | 安装 APK 时,PMS 需要检查签名: |
2.8 PMS 如何管理权限?
1 | 1.PMS 负责 应用权限管理,主要存储在 /data/system/packages.xml: |
2.9 PMS 如何支持多用户?
1 | Android 通过 UserManager 实现多用户,PMS 需为每个用户维护独立应用: |
2.10 PMS 如何处理 APK 热更新?
1 | 热更新需要 重新加载 Dex: |
2.11 总结
1 | PMS 是 Android 应用管理的核心服务,面试常考点: |
三 参考
- 掘金—知识库的大纲