系统安装过的Apk资源加载原理
可以参考下之前写的文章:Android App启动时Apk资源加载机制源码分析,不仅仅是资源的加载,还有dex及so文件加载,在apk系统启动时候,系统framework层通过LoadedApk来加载目标资源,流程其实差不多,下文将进行介绍资源加载。
一句总结要表达的是Apk资源都是由AssetManager来加载维护的,核心代码
// AssetManager创建
AssetManager assets = new AssetManager();
// resDir can be null if the 'android' package is creating a new Resources object.
// This is fine, since each AssetManager automatically loads the 'android' package
// already.
//加载apk资源
if (resDir != null) {
if (assets.addAssetPath(resDir) == 0) {
return null;