当前位置:   article > 正文

插件化开发_插件化目的

插件化目的

 

一、什么是Android插件化

  1. android插件化就是不用安装就能被宿主app调动运行。 插件化的目的就是要减小宿主程序apk包的大小同时降低宿主程序的更新频率并做到自由装载模块。
  2.  

个人认为就是把好几个不同功能apk免安装的集成在一个apk中使用,apk之间相互解藕,相互独立,大体上可以分为两类:

  1.  

      一类,插件可以独立运行,不依赖于宿主。

  1.      另一类,插件不可以独立运行依赖宿主的class或者资源文件。
  2. 几个概念
       插件项目:指没有被安装且希望借助已经安装到手机上的项目运行的apk。
       插件化:可以免安装运行且APP项目jar包冲突已经解决的插件项目称为已经被插件化。
       代理:指插件中的一个委派/代理Activity,通过这个Activity去处理插件中Activity的全部事务,从而表现为就像插件中的Activity在运行一样。

二、实现插件化的好处

  1. APP因为业务的频繁变更而频繁升级客户端,会造成较差的用户体验,插件化可以做到动态升级,不需要更新整个客户端
  2. APP往往需要集成许多的功能,插件化可以使模块解藕
  3. 并行开发,提高开发效率
  4. 插件化突破最大方法数的限制
  5. 插件化做到了按需加载,提高了内存的使用效率
  6. 节省了升级流量

三、实现插件化的难点

  1. 没有被安装的apk是不能运行的
  2. 插件的资源不能被引用
  3. 插件与宿主之间如何通信
  4. 插件Activity如何获得生命周期

四、实现插件化的方式

  ***********相关知识************

  1. android有两个类加载器DexClassLoader和PathClassLoader  

DexClassLoader可以加载任何路径的apk/dex/jar

  1.  

PathClassLoader只能加载/data/app中的apk,也就是已经安装到手机中的apk。这个也是PathClassLoader作为默认的类加载器的原因,因为一般程序都是安装了,在打开,这时候

  1.  

PathClassLoader就去加载指定的apk(解压成dex,然后在优化成odex)就可以了

  1.  

http://blog.csdn.net/jiangwei0910410003/article/details/41384667

 

AssetManager资源管理

  1.  

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

protected void loadResources() {  

    try

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/861084
推荐阅读
相关标签
  

闽ICP备14008679号