插件化小结

6 篇文章 0 订阅
6 篇文章 0 订阅

1、主插件需要负责公用功能的初始化操作、TaobaoInit可配置为应用启动时初始化或插件Activity第一次启动时候的初始化。主插件维持application和classLoader。并且需要负责子插件的中转。

    ​    ​2、在编译的时候会将子插件程序伪装为so,并且合并manifest。

    ​    ​3、子插件可以直接编译为apk,他只需要负责实现自己的功能即可,尽量避免多个直插件之间互相干扰。

    ​    ​4、如果在apk发布后需要动态加载新的页面也业务。manifest是没有办法改变的,如何找到这个Activity呢?a ——可以使用欺骗的方式在classLoader的时候执行新发布的页面so。主插件持有的classLoader发现找不到Activity出现ClassNotFound ,此时动态改变加载的类以欺骗classLoader。b ——也可以使用一个容器Activity。事先配置好了这个Activity,程序只管理ContainerActivity,但是在这个Activity的生命周期里面,去手动调用我们新发布的Activity(比如MyActivity)的生命周期方法,这种时候,用户感觉到的是业务逻辑是MyActivity,但是ActivityManager管理的是ContainerActivity。

    ​    ​5、可以动态部署Fragment以解决Activity需要动态配置Menifest的问题,这就不需要欺骗classLoader了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值