Administrator
发布于 2026-08-25 / 42 阅读
0
0

系列文章《Android 工程师的 100 篇进阶笔记》第 15 篇:从 Android 工程师到移动端架构师

写到第 15 篇,这个系列已经完成了从初级 Activity 生命周期到 Gradle、Native、APM、安全的跨越。

最后一篇,我想聊聊职业成长:从“能写代码的 Android 工程师”到“能设计系统的移动端架构师”,中间到底差了什么?


一、高级工程师 vs 架构师:差别不在代码量

维度

高级工程师

架构师

关注点

功能实现、性能优化

系统边界、团队协作、演化路线

解决问题

单点问题

一类问题、长期问题

产出

代码、组件

规范、框架、决策文档

沟通对象

产品和测试

多个团队、管理层

技术选型

选自己熟悉的

选团队能维护的

高级工程师写代码,架构师设计“写代码的方式”。


二、架构师的核心能力

2.1 抽象能力

架构师看到的是模式,不是细节。

// 普通写法
fun login(phone: String, code: String) { ... }
fun register(phone: String, code: String) { ... }

// 抽象后
interface AuthUseCase {
    suspend fun execute(credential: Credential): AuthResult
}

把“登录”和“注册”抽象成“认证用例”,后续扩展指纹、人脸、第三方登录都更容易。

2.2 权衡能力

架构没有唯一正确答案,只有当前上下文下的最优解。

  • 模块化拆太细,构建快但通信成本高。

  • 模块化拆太少,构建慢但耦合低。

  • 用 Compose 还是 XML?取决于团队能力和项目周期。

  • 自研框架还是引入开源?取决于维护成本。

架构师要能说清楚:为什么选 A 而不是 B。

2.3 演进能力

好的架构不是一次设计出来的,是演进出来的。

MVC → MVP → MVVM → MVI + Compose
单模块 → 按层拆分 → 按功能拆分 → 插件化/动态化

每一阶段解决当时的主要矛盾,而不是提前为未来五年做准备。

2.4 沟通能力

架构师的方案要落地,必须让别人理解和接受。

  • 写决策文档(ADR)。

  • 画架构图。

  • 做技术评审。

  • 培训团队。

代码写得再好,没人用也是废的。


三、移动端架构师的知识图谱

一个合格的移动端架构师,至少应该覆盖以下领域:

基础层
├── 语言:Kotlin / Java / C++
├── 系统:Android Framework / Linux 基础
└── 性能:内存、启动、渲染、网络

工程层
├── 架构模式:MVC/MVP/MVVM/MVI/Clean Architecture
├── 依赖注入:Hilt / Dagger
├── 构建系统:Gradle / Bazel
└── 模块化 / 组件化 / 插件化

系统层
├── 跨平台:Compose Multiplatform / KMP / Flutter
├── 原生能力:JNI / NDK / AIDL / Binder
├── 安全:混淆、加固、加密、签名
└── 监控:APM / Crash / 性能指标体系

软技能
├── 技术决策
├── 团队管理
├── 业务理解
└── 沟通表达

四、从高级到架构师的成长路径

4.1 第 1 步:成为某个领域的专家

先在 Android 某一领域做到团队里最懂的人:

  • 性能优化专家。

  • 架构模式专家。

  • Gradle / 构建专家。

  • 安全专家。

有了专精,才有话语权。

4.2 第 2 步:主动承担架构问题

不要等领导分配。主动做这些事:

  • 整理现有架构的问题清单。

  • 写重构提案。

  • 搭建公共组件。

  • 推动 Code Review 标准。

4.3 第 3 步:培养系统思维

每次做技术决策时,问自己:

  • 这个改动影响哪些模块?

  • 新同学能看懂吗?

  • 半年后要改容易吗?

  • 测试怎么写?

  • 线上出问题怎么回滚?

4.4 第 4 步:扩展广度

架构师不能只懂 Android。要了解:

  • 后端基本架构(API 设计、数据库、缓存、消息队列)。

  • 产品思维(用户路径、转化率、业务指标)。

  • 数据思维(埋点、AB 实验、数据分析)。


五、给 Android 工程师的 10 条建议

  1. 不要只学 API,要理解原理。Binder 怎么工作?ART 怎么 GC?Compose 怎么重组?

  2. 性能优化要能量化。没有 Profile 数据的优化是玄学。

  3. 代码是写给人看的。简洁、可读、可测试比炫技重要。

  4. 先搞定一个领域,再扩展广度。不要什么都会一点,什么都不深。

  5. 关注工程化。构建、测试、发布、监控,都是架构的一部分。

  6. 学会说“不”。不是所有需求都值得做,不是所有技术债都要马上还。

  7. 写文档。你的方案只有被理解,才有价值。

  8. 保持学习。Android 生态变化快,Jetpack、KMP、Compose 都在演进。

  9. 理解业务。技术是为业务服务的,不懂业务做不好架构。

  10. 找 mentor,也做 mentor。成长是双向的。


六、这个系列暂时告一段落

前 15 篇覆盖了 Android 工程师从初级到专家的核心主题:

  • 第 1-5 篇:基础与中级(生命周期、Compose、协程、架构、性能)。

  • 第 6-10 篇:高级主题(Compose 性能、IPC、Hilt、协程底层、网络架构)。

  • 第 11-15 篇:专家主题(Gradle、Native、APM、安全、架构师成长)。

后续如果继续,会进入更垂直的专题:

  • 音视频开发。

  • 插件化 / 热修复。

  • 鸿蒙迁移。

  • 跨平台与 KMP。

  • AI 在移动端的工程化落地。


小结

成为移动端架构师,不是把 API 背得更熟,而是:

  1. 从解决问题到定义问题。

  2. 从写代码到设计系统。

  3. 从关注局部到关注整体。

  4. 从技术到团队到业务。

这条路没有捷径,但每一步都算数。


参考阅读

  • 《Software Architecture in Practice》

  • 《Designing Data-Intensive Applications》

  • Android 官方架构指南

  • 本系列第 1-14 篇


评论