Android模块化和组件化开发简单理解(一)

模块化和组件化可以理解为同一个概念:

将一个app分成多个模块,每个模块都是一个组件(module),开发过程中让这些组件相互依赖或者单独调试某个组件。在发布的时候将这些组件合并成一个apk。

Android组件化我的理解是 application与library之间相互转换。

因为 在AndroidStudio开发中每个module中的build文件中第一句话都是:apply plugin: 'com.android.application'

或者是:apply plugin: 'com.android.library'

 

module之间双向调用可以采用BroadCast广播或者是EventBus。

还可以使用路由框架:阿里的ARouter,这个路由框架解决了模块跳转和模块间服务调用。

 

Android原生路由存在的问题:

Android原生路由方案一般通过显示Intent和隐式Intent两种方式实现的。

显示Intent会存在类之间的依赖关系,耦合性非常严重;

隐式Intent需要定义规则进行管理,操作不灵活,一般定义规则是在Manifest中,导致扩展性比较差。

而且使用原生的路由方案会出现跳转过程无法控制,比如使用startActivity,中间的任何环节只能交给系统处理,一旦跳转失败无法做降级处理,只能抛出异常。

为什么要用路由组件:

随着业务逻辑的增加,一款APP达到一定体量的时候,开发团队规模也会越来越大,这个时候就需要组件化开发。

可以将APP按照一定功能和业务拆分成多个小组件,不同的组件由不同开发小组负责。

 

路由框架的特点:

1 分发:可以将一个请求或者一个URL按照一定的规则分配给一个服务或者页面来处理。也可以理解为简单的跳转。

2 管理:将组件和页面按照一定的规则管理起来,在分发的时候提供搜索、加载、修改等操作。

3 控制:就像路由器一样,会有限速、屏蔽等一些控制操作。

总结:

Android模块化 / 组件化个人简单理解就这样,当然感觉还不够,还需要全面分析一下,我打算下一篇写的更详细一点,并且根据路由框架来说比如阿里的ARouter框架

你可能感兴趣的:(Android知识碎片)