请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么要替换

为什么一定要替换AssertManager,直接反射调用addAssertPath不可以么?

正在回答

1回答

有顺序问题,原来的 AssetManager 里面已经添加了主包的资源了,需要重新new一个,先添加皮肤包的资源,在添加主包的资源,才能保证皮肤包的资源优先加载。

我看了一下现在比较新的 AssetManager 当中多了一个 setApkAssets 的方法,用这个应该就不用

0 回复 有任何疑惑可以回复我~
  • 提问者 weixin_慕仔5323747 #1
    明白了,谢谢老师
    回复 有任何疑惑可以回复我~ 2021-03-15 15:49:01
  • 提问者 weixin_慕仔5323747 #2
    如果不是换肤,我只是想找到这个资源并且排除重复的意外,是不是就不用替换了?
    还有一个app有多少个resource对象?我写代码试了下,application和service是同一个对象,但两个activity的不是同一个对象?按照以前的理解,一个apk路径对应一个release并且它是可以通过键值对重复获取不用重新new一个
    回复 有任何疑惑可以回复我~ 2021-03-15 16:57:42
  • bennyhuo 回复 提问者 weixin_慕仔5323747 #3
    你说的是Resource对象不同吗? 印象中好像res是会有多个对象,不过这块儿同学自行查一下源码吧,不同版本应该会有差异。
    回复 有任何疑惑可以回复我~ 2021-03-15 17:00:08
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信