Android 应用程序主要由 PackageMangerService 来管理, 包括 apk 安装, 卸载, 以及查询;
开机启动—-加载 Apk 等资源
PackageMangerService 会在手机启动的时候扫描手里里所有 apk (包括 jar, aar),
apk, jar, aar 本质上都是压缩包, 里面包含了App 运行需要组件和数据.
PackageMangerService 会把这些包的信息读取出来加载在内存中, 这样系统运行的时候就能很快的找到每个应用和组件的信息;
这个过程中其实还会优化资源, 比如将 App 文件的优化:
Android 5.0 之前: dex 转化成 odex,
Android 5.0 之后: dex 转化为oat;
开机完成—-提供安装卸载和查询功能
App 分类: 系统应用 和 普通应用
系统应用:
位于/system/app/
或者 /system/priv-app/
目录下;
其中 /system/priv-app/
目录是 Android 4.4 开始出现的目录, 该目录存放一些系统底层App, 如: Settings, SystemUI 等.
/system/app/
存放的是常用的系统应用, 如: Phone, Contacts, Camera 等;
系统应用不能删除,只能升级.
普通应用
位于/data/app/