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

将一个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框架

更多相关文章

  1. Android的Intent Filter详解
  2. Android(安卓)sqlite 使用框架
  3. [React-Native]RN组件学习-Image
  4. 关于更新Android(安卓)sdk之后出现This Android(安卓)SDK requir
  5. Android中Broadcast Receiver组件具体解释
  6. Android以太网框架情景分析之NetworkFactory与NetworkAgent深入
  7. Android之Volley框架在实际开发过程中运用
  8. Android(安卓)jetpack总结
  9. Android音频框架笔记

随机推荐

  1. 极光推送(守护进程)
  2. Android权限设置android.permission完整
  3. Android工作总结之如何做一个优秀的Media
  4. ADT在线安装
  5. android我的官方文档--No.1 Introduction
  6. 设备驱动-----Android关机流程总结
  7. ANDROID L——Material Design综合应用(De
  8. Android(安卓)中文设置成粗体的方法
  9. Android开发者指南(11) —— Optimizing
  10. Android(安卓)菜单(OptionMenu)大全 建立