以下整理了 Android 开发中常用的流行组件库,涵盖网络、异步、架构、UI、工具等核心场景,共 20+ 个分类,并标注关键特性和推荐场景:
一、网络请求
-
OkHttp
- 特性: 高效 HTTP 客户端,支持同步/异步请求、连接池、缓存等。
- 场景: 基础网络层,常与 Retrofit 配合使用。
-
Retrofit
- 特性: 类型安全的 REST 客户端,基于 OkHttp,支持 RxJava/协程。
- 场景: 快速构建 API 接口,适合结构化网络请求。
二、图片加载
-
Glide
- 特性: 高效图片加载库,支持 GIF/WebP,内存优化优秀。
- 场景: 图片加载、缓存、压缩的首选。
-
Coil (Kotlin 优先)
- 特性: 基于 Kotlin 协程的轻量级图片库,API 简洁。
- 场景: 替代 Glide/Picasso,适合 Kotlin 项目。
三、异步处理
-
Kotlin Coroutines
- 特性: 官方推荐的异步解决方案,简化线程管理。
- 场景: 替代回调地狱,协程+Flow 是趋势。
-
RxJava/RxAndroid
- 特性: 响应式编程,支持复杂的异步链式操作。
- 场景: 已有 Rx 生态项目或需要复杂事件流处理。
四、依赖注入 (DI)
-
Hilt
- 特性: 基于 Dagger 的官方 DI 框架,简化配置。
- 场景: 新项目推荐,与 Jetpack 组件深度集成。
-
Koin
- 特性: 纯 Kotlin 实现的轻量级 DI,无代码生成。
- 场景: 中小项目快速实现 DI,学习曲线低。
五、数据库
- Room
- 特性: SQLite 抽象层,支持 LiveData/Flow 观察数据变化。
- 场景: 本地结构化数据存储,配合协程使用更高效。
六、架构组件 (Jetpack)
-
ViewModel & LiveData
- 特性: 生命周期感知的数据管理,避免内存泄漏。
- 场景: MVVM 架构核心,UI 与数据分离。
-
Data Binding
- 特性: 声明式 UI 绑定,减少模板代码。
- 场景: 简化 UI 更新逻辑,结合 LiveData 使用。
-
Navigation
- 特性: 管理 Fragment 导航,可视化路由设计。
- 场景: 单 Activity 多 Fragment 架构。
-
Paging 3
- 特性: 分页加载数据,支持本地/远程混合数据源。
- 场景: 列表分页(如 RecyclerView)。
-
WorkManager
- 特性: 后台任务调度,兼容不同 API 级别。
- 场景: 定时任务、延迟任务等。
七、响应式编程
- Flow
- 特性: Kotlin 官方异步流处理,与协程深度集成。
- 场景: 替代 LiveData 或 RxJava 的观察者模式。
八、UI 组件
-
Material Components
- 特性: 官方 Material Design 组件库,提供标准化 UI 控件。
- 场景: 遵循 Material Design 规范的应用