简介
Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法、减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者可将精力集中于真正重要的编码工作。
大体上,Jetpack是Google推出的一些库的集合。是Android基础支持库SDK以外的部分。
那么我们使用 Android Jetpack 有哪些好处呢?
1. 遵循最佳做法
Android Jetpack 组件采用最新的设计方法构建,具有向后兼容性,可以减少崩溃和内存泄露。
2. 消除样板代码
Android Jetpack 可以管理各种繁琐的 Activity(如后台任务、导航和生命周期管理),以便您可以专注于打造出色的应用。
3. 减少不一致
这些库可在各种 Android 版本和设备中以一致的方式运作,助您降低复杂性。
google推荐架构
组成
Android Jetpack 组件覆盖以下 4 个方面:
Foundation (基础组件)
- AppCompat:使得支持较低的 Android 版本。从以前继承 Activity 到现在继承AppCompatActivity 就是属于这一部分
- Android KTX:Kotlin 的扩展支持库
- Multidex:多 dex 文件支持
- Test:测试支持库
Architecture (架构组件)
- DataBinding:MVVM 的一种实践
- Lifecycle:管理你的 Activity 和 Fragment 生命周期
- LiveData:通过观察者模式感知数据变化,类比 RxJava
- Navigation:处理 Fragment 导航相关逻辑
- Paging:分页数据加载方案
- Room:官方数据库
- ViewModel:通过数据驱动 V 视图发生改变
- WorkManager:管理后台任务
Behavior (行为组件)
- DownloadManager:管理下载任务
- Media App:多媒体播放和一些向后兼容的API。主要包含 MediaPlayer 和 ExoPlayer
- Notifications:提供向后兼容的通知 API,支持 Wear 和 Auto
- Permissions:权限管理,这个应该都接触过。用于检查和请求应用权限
- Settings:Preference 相关 API。基本每个应用都会用到
- Share Action:提供分享操作。这块在国内使用的不多,都是自己封装或者采用第三方方案
- Slices:可以让应用通过外部(其他 APP)显示 APP 界面(通过设备自带的搜索,语音助手等)
UI (界面组件)
- Animations and Transitions:动画,界面转场等
- Auto:针对车辆的标准化界面和模式
- Emoji:表情符号相关
- Fragment:基础概念
- Layout:基础概念
- Palette-Colors:调色板
- TV:Android TV 开发相关
- Wear:可穿戴设备(目前主要是手表)开发相关
在接下来的文章中,我们将逐一学习架构组件,这也是Jetpack的核心部分。
网友评论