必看12

熟练组件化、模块化、路由 ARouter 使用与原理;

一、基础概念

1、什么是模块化?

答案

把整个项目按业务 / 功能拆分成多个独立 module,

比如首页、我的、订单、登录等;

代码分层、职责拆分,方便多人协作、解耦、复用。

2、什么是组件化?

答案

在模块化基础上,让每个业务模块可以单独编译、独立运行成 App;

开发时单个组件可单独调试,打包时再合并成一个主 App。

组件化 = 模块化 + 可独立工程化。

3、模块化和组件化区别

答案

  1. 模块化:只能作为 Library 依赖,不能单独运行;
  2. 组件化:既可作为 Library 被依赖,也可独立 Application 单独运行;
  3. 组件化更适合大型项目、并行开发、按需编译提速。

4、为什么要做组件化 / 模块化?

答案

  1. 业务解耦,模块间低依赖;
  2. 多人团队并行开发互不干扰;
  3. 单个模块独立编译,编译速度快;
  4. 业务可按需裁剪、插件化扩展;
  5. 便于维护、复用、单元测试。

二、组件化核心问题

5、组件化最大难点是什么?

答案

各业务组件不能直接相互依赖,否则又高耦合;

需要路由框架实现跨组件页面跳转、通信、解耦。

6、组件化怎么实现互相通信、页面跳转?

答案

用ARouter 路由框架 ;通过路径字符串跳转,不直接依赖目标类,实现完全解耦。

相关推荐
Gracker13 分钟前
AIW:从系统机制到性能排查,一本可以对照源码的 Android 电子书
android
三少爷的鞋24 分钟前
代码越来越便宜,判断力越来越贵:AI 时代的 Android 架构与协程避坑指南
android
Gracker2 小时前
SmartPerfetto 1.19.0:换过分析引擎之后,这次更新了什么
android
HQL_seven6 小时前
【Android】BroadcastReceiver 详解
android
_祝你今天愉快7 小时前
Paint Cavans高级绘制:[二] Paint-滤镜,XFERMODE
android
小乖写代码7 小时前
字段获取代码(Android) · Android Input Examples
android·whatsapp·账号注册
booboosui7 小时前
停一个活只有杀进程:界面上少了「说点要求」
android
传奇开心果编程10 小时前
【Flutter踩坑排雷】第28课:平台目录缺失与修复坑|`flutter create` 的“重建”与“覆盖”边界
android·flutter·ios·移动开发·跨平台·dart·声明式ui
longxibo19 小时前
【AIBIZ低代码平台:能长出业务系统的平台】
android·低代码·rxjava
AI_Gump1 天前
Harness篇|DeepSeek Harness 上手机:五条安卓移植路线与 App 内 Linux 拆解
android·linux·人工智能·智能手机·deepseek