3. Jetpack-Jetpack介绍
2022-01-06 本文已影响0人
彩虹_直至黑白
简介
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的核心部分。