美文网首页
组件化和插件化

组件化和插件化

作者: _爱笑的eyes | 来源:发表于2019-06-12 11:57 被阅读0次

组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依赖或者单独调试部分组件等,但是最终发布的时候是将这些组件合并统一成一个apk,这就是组件化开发。

插件化开发和组件化开发略有不用,插件化开发时将整个app拆分成很多模块,这些模块包括一个宿主和多个插件,每个模块都是一个apk(组件化的每个模块是个lib),最终打包的时候将宿主apk和插件apk分开或者联合打包。

组件化

概述

android工程的组件一般分为两种,lib组件和application组件

application组件是指该组件本身就可以运行并打包成apk

lib组件是指该组件属于app的一部分,可以供其它组件使用但是本身不能打包成apk

为什么要有组件化?

加入一个app工程只有一个组件,随着app业务的壮大模块越来越多,代码量超10万是很正常的,这个时候我们会遇到以下问题

稍微改动一个模块的一点代码都要编译整个工程,耗时耗力

公共资源、业务、模块混在一起耦合度太高

不方便测试

那么如何正确的使用它呢?

我们创建了一个app工程project,默认里面有一个app组件,这个app组件是可以直接运行的。

怎么划分组件呢?

1.新建一个lib组件,new Module—>Andorid Library,取名BaseUtilLib,我们将所有的公共的工具类、网络分装等类放在其中

2.新建一个lib组件,BaseReslLib,我们将所有的公共资源、drawable、String等类放在其中

3.将app按照自己的规则划分成多个模块,比如按业务按地区等都可以

4.逐一开发某个模块,比如Test模块,新建一个TestApp组件,TestApp组件引用[1][2]步骤的BaseUtilLib和BaseReslLib,在TestApp组件里添加并引用TestLib组件。在TestLib的activity中写代码写业务逻辑,TestApp只负责跳转和测试

5.将工程中的所有类似TestLib组件(不是TestApp组件)引入到工程的app中

这样的好处有

每个模块可以独立开发编译运行

开发单个模块时可以共享资源和工具类

可以针对单个模块测试

插件化

为什么有插件化?

有了组件化,为什么还要用插件化呢?插件化开发总的来说有以下几点好处(不同插件框架不一样):

宿主和插件分开编译

并发开发

动态更新插件

按需下载模块

方法数或变量数爆棚

开放出来的插件化开发框架比较多,他们各自都有自己的优势和和不足,实现的原理也有差别.

开源的插件化框架:

Qihoo360/DroidPlugin

CtripMobile/DynamicAPK

mmin18/AndroidDynamicLoader

singwhatiwanna/dynamic-load-apk

houkx/android-pluginmgr

bunnyblue/ACDD

wequick/Small

……

原文:https://blog.csdn.net/lijizhi19950123/article/details/77945153

相关文章

  • Android:插件化

    插件化组件化 组件化与插件化的区别 组件化是Android自然提供的,例如分成lib,test组件。插件化是热更新...

  • 插件化介绍和原理解析

    什么是插件化 首先我们区分一下组件化和插件化的概念 组件化组件化开发就是将一个app分成多个模块,组件化强调功能拆...

  • Android插件化(一)

    插件化(一) 组件化和插件化的区别: 组件化是将一个app分成多个模块,每个模块都是一个组件(module),开发...

  • 移动架构<第十二篇>:Android组件化架构

    模块化、组件化、插件化是当前Android工程的三大架构,市场上组件化和插件化使用最为广泛。起初,Android工...

  • Android组件化和插件化开发

    Android组件化和插件化开发 什么是组件化和插件化? 组件化开发 就是将一个app分成多个模块,每个模块都是一...

  • Android组件化和插件化开发

    Android组件化和插件化开发 什么是组件化和插件化? 组件化开发就是将一个app分成多个模块,每个模块都是一个...

  • 大厂的 android app 进化之路及各种优化,瘦身

    大厂们的 app 进化基本都是组件化和插件化的架构改造升级,从大厂们的架构优化中,我们应该看到目前组件化和插件化是...

  • 组件化和插件化

    组件化开发就是将一个app分成多个模块,每个模块都是一个组件(Module),开发的过程中我们可以让这些组件相互依...

  • 组件化和插件化

    1.什么是组件化 一个App拆分为多个module开发就是组件化(模块化) 2.什么是插件化 一个App的部分功能...

  • 组件化和插件化

    主要是记录些看过的文档总结实际开发中用过半成品的组件化(但符合项目的开发),没用过插件化 组件化 也叫模块化总结下...

网友评论

      本文标题:组件化和插件化

      本文链接:https://www.haomeiwen.com/subject/kgbkfctx.html