Android资源管理中的SharedLibrary和Dynamic Reference-------之资源共享库(一)

本文探讨了Android系统如何实现类似动态库的资源加载机制,通过framework-res.apk阐述了系统资源的加载过程,并介绍了如何创建和使用资源共享库。AndroidManifest.xml中的uses-library标签用于引入资源共享库,与aar静态资源库相比,资源共享库具有减少重复资源、简化更新等优势,但部署和使用更为复杂,常应用于系统应用而非App中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.引言

    共享库的概念,相信大家都有所了解,它有有许多优点。可以设想,在一个系统上要跑100个应用,并且它们都使用到了同一个库。如果这个库做成静态库,那么每个应用中都要打包一次这个库,100个应用就是100次,这无疑是重复的。我们可不可以在系统里只集成一次这个库呢,每个应用用到的时候再动态加载与链接,动态库的概念就这么产生了。现在,PC上Linux、Windows、Mac中动态库的应用已经非常广泛了。当然,Android中的动态库的应用也非常多,写JNI的同学都非常熟悉了。

    不过,我们今天讨论的动态库,指的并不是这些。我们知道一个APK中简单来说主要包括两部分:代码(DEX和so等)和资源(Asset、XML和Raw等)。前面我们 讲的动态库的概念主要是针对代码而言的,那么资源呢?我们可不可以动态加载和使用资源呢?答案当然是OK,毕竟现在已经有各种资源动态加载的框架了。但我们今天说的也不是这些框架,而是Android本身支不支持资源的动态加载呢?

二.framework-res.apk

    我们知道,Android本身也有很多资源,想必大家对这些代码都比较熟悉吧:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="android:Theme.Material.Light.DarkActionBar"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值