AssetManager回顾

Assets里存放的资源是在base.apk里,没有直接的路径给第三方直接访问,应用自身可以通过AssetManager来进行访问,如复制到sd路径下共享出来,给其他应用或接口使用,如tess-two库的使用

https://blog.csdn.net/qq_38679144/article/details/82661997

系统也是通过AssetManager来访问每个apk的资源,在app打开的时候来进行加载,看看log

05-02 04:21:12.859: D/AssetManager(18460): =====AM L113,  public AssetManager()android.content.res.AssetManager@96936a, iNum=8325

05-02 04:21:12.859: I/assetCpp(18460): Creating AssetManager 0x7f5eb14e40 #8

05-02 04:21:12.859: D/assetJNI(18460): 1Created AssetManager 0x7f5eb14e40 for Java object 0x7f5d83f914

05-02 04:21:12.862: D/AssetManager(18460): =====assetM.java  addAssetPath, path=/mnt/asec/com.UCMobile-2/base.apk

05-02 04:21:12.863: D/AssetManager(18460): ===== begin =====

05-02 04:21:12.863: D/AssetManager(18460): android.content.res.AssetManager.addAssetPath(AssetManager.java:653)

05-02 04:21:12.863: D/AssetManager(18460): android.app.ResourcesManager.getTopLevelResources(ResourcesManager.java:221)

05-02 04:21:12.863: D/AssetManager(18460): android.app.ActivityThread.getTopLevelResources(ActivityThread.java:1854)

05-02 04:21:12.863: D/AssetManager(18460): android.app.LoadedApk.getResources(LoadedApk.java:558)

05-02 04:21:12.863: D/AssetManager(18460): android.app.ContextImpl.<init>(ContextImpl.java:1884)

05-02 04:21:12.863: D/AssetManager(18460): android.app.ContextImpl.createPackageContextAsUser(ContextImpl.java:1733)

05-02 04:21:12.863: D/AssetManager(18460): android.app.ContextImpl.createPackageContextAsUser(ContextImpl.java:1718)

05-02 04:21:12.863: D/AssetManager(18460): com.android.server.AttributeCache.get(AttributeCache.java:114)

05-02 04:21:12.863: D/AssetManager(18460): com.android.server.am.ActivityRecord.<init>(ActivityRecord.java:564)

05-02 04:21:12.863: D/AssetManager(18460): com.android.server.am.ActivityStackSupervisor.startActivityLocked(ActivityStackSupervisor.java:1763)

05-02 04:21:12.863: D/AssetManager(18460): com.android.server.am.ActivityStackSupervisor.startActivityMayWait(ActivityStackSupervisor.java:1153)

05-02 04:21:12.863: D/AssetManager(18460): com.android.server.am.ActivityManagerService.startActivityAsUser(ActivityManagerService.java:4271)

05-02 04:21:12.863: D/AssetManager(18460): com.android.server.am.ActivityManagerService.startActivity(ActivityManagerService.java:4258)

05-02 04:21:12.863: D/AssetManager(18460): android.app.ActivityManagerNative.onTransact(ActivityManagerNative.java:168)

05-02 04:21:12.863: D/AssetManager(18460): com.android.server.am.ActivityManagerService.onTransact(ActivityManagerService.java:2703)

05-02 04:21:12.863: D/AssetManager(18460): android.os.Binder.execTransact(Binder.java:458)

05-02 04:21:12.863: D/assetJNI(18460): =====jni  android_content_AssetManager_addAssetPath, path=/mnt/asec/com.UCMobile-2/base.apk

参考资料:

https://www.cnblogs.com/jpfss/p/9876370.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值