Android动态加载Apk-插件化技术(动态代理方案)
一. 什么是插件化
1. 主App(宿主App)加载插件apk的实现
2. 每个业务组件模块形成一个独立的Apk, 然后通过主App动态加载部署业务组件模块Apk的一种方案
二.插件化的优点好处
1. 业务组件解耦,能够实现业务组件模块的热插拔
2. 更改产品迭代模式,可分为主App和次Apk(动态加载业务组件模块)
3. 改善产品更新过程,可以在不影响用户的情况下实现业务组件模块更新以及重要Bug修复
4. 减轻主App的内存和CPU占用,提高应用的性能.
三.插件化的思想
动态加载Apk的主要思想是:主App是被系统(PMS)安装,被系统(AMS)调用,整个过程都是由系统提供的,而插件Apk并非一个真正的Apk,只是一个打包成Apk的一个组件模块,因为它并非被系统安装调用.简言之,需要讲插件Apk看成一个”非Apk”文件,只是一个结构比较复杂的压缩打包成Apk格式的文件.调用插件即用某种特殊技术手段打开文件并执行其相关代码.