初识插件化

一,什么是插件化

插件化是将一个应用按照宿主,插件的方式改造就叫插件化
(1)宿主:主app可以用来加载插件也成为Host
(2)插件:插件app,被宿主加载的app,可以跟普通的app一样的apk文件
这里写图片描述
如图显示的so文件就是通过插件化生成的各个业务线的so文件

二,插件化的作用

解决 由于app体积越来越,功能模块越来越多导致的以下几个问题
(1)方法数超过65535,占用内存过大
(2)耦合度高
(3)协同开发成本高
优势:
(1).业务模块基本完全解耦
(2).高效的并行开发(编译速度更快)
(3).按需加载,内存占用更低

三,概念对比与分析

组件化与插件化
1.组件化是一种编程思想,而插件化是一种技术
2.组件化是为了代码的高度复用性而出现
3.插件化是为了解决应用越来越庞大而出现的
插件化与动态更新
1.都是动态加载的技术的应用
2.动态更新是为了解决线上bug或小功能的更新出现
3.插件化是为了解决应用越来越庞大而出现的
封装设计模式:组件化
动态加载技术:
1.插件化
2.热修复/热更新/动态更新

四,插件化原理与简单实践

运用到的技术:
android ClassLoader加载class文件原理
java的反射原理
android 的资源加载原理
四大组件加载原理

1.Manifest处理
这里写图片描述
解析:
(1).构建期进行全量的Merge操作
(2).Bundle的依赖单独Merge生成Bundle自己的MergeManifest
(3).解析各个Bundle的MergeManifest,得到整个包的BundleInfoList
关键点:
(1).文件的合并 合并到总的Manifest总文件中
(2).如何修改编译流程完成所有清单文件的合并

2.插件类加载

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值