Android -- 插件化

15 篇文章 0 订阅

https://blog.csdn.net/u012999651/article/details/93881387?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158358987219724845019572%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158358987219724845019572&biz_id=0&utm_source=distribute.pc_search_result.none-task

原因:

解耦,方便维护
加快编译
动态更新,无需下载与安装整个app,可以单独下载apk插件
模块定制,需要什么,下载什么

详情:

插件化:加载本地不存在的外部可执行文件。
两种:
1.动态加载so库(其实可以放在外部存储,我们常用的是放在内部存储)
2.classloader动态加载外部可执行文件,如dex,jar,apk

动态加载:

  1. 简单动态加载,逻辑sdk,登录注册界面等等。
  2. 静态代理Activity,使用插件的activity,实际使用的是host的activity,需要解决两个问题:
    ①生命周期,提前在host中注册好activity,然后拿到插件的activity的引用(两种方式,通过反射,再接口化;通过接口调用),在各个生命周期方法同步调用
    ②R资源
    反射拿到AssertManager,调用addAssertPath,得到Resourse资源对象。
  3. 动态注册Activity

https://blog.csdn.net/micotale/article/details/88962682?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158372465819726867829400%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257D&request_id=158372465819726867829400&biz_id=0&utm_source=distribute.pc_search_result.none-task

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值