Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。
Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库。这意味着,它可以提供向后兼容性,且比 Android 平台的更新频率更高,以此确保您始终可以获取最新且最好的 Jetpack 组件版本。
加速开发
组件可以单独采用(不过这些组件是为协同工作而构建的),同时利用 Kotlin 语言功能帮助您提高工作效率。
消除样板代码
Android Jetpack 可管理繁琐的 Activity(如后台任务、导航和生命周期管理),以便您可以专注于如何让自己的应用出类拔萃。
构建高质量的强大应用
Android Jetpack 组件围绕现代化设计实践构建而成,具有向后兼容性,可以减少崩溃和内存泄漏。
应聘Android开发岗我们看看【招聘信息】举例:


可以看出Android许多开发岗位的应聘条件,是需要熟练Jetpack的。
Jetpack的出现代表谷歌标准化开发模式的推进,代表了Android开发的未来大致方向,意味着Android发展已经从碎片化转向统一化。现在大多公司的android岗位都开始要求或者以会kotlin,jetpack为加分项以后jetpack开发也将成为大趋势。
使用声明性格式将布局中的界面组件绑定到应用中的数据源。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6ieR3zNa-1660657387282)(D:\桌面\01资料图(重要)\实战大厂架构与Jetpack深度讲解\databinding.png)]](https://1000bd.com/contentImg/2022/08/19/022848449.png)
生命周期感知型组件可执行操作来响应另一个组件(如 Activity 和 Fragment)的生命周期状态的变化。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7ZjO3mTq-1660657387283)(D:\桌面\01资料图(重要)\实战大厂架构与Jetpack深度讲解\Lifecycle.png)]](https://1000bd.com/contentImg/2022/08/19/022848584.png)
LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cOsniHua-1660657387286)(D:\桌面\01资料图(重要)\实战大厂架构与Jetpack深度讲解\livedata.png)]](https://1000bd.com/contentImg/2022/08/19/022848797.png)
Navigation是一个可简化的Android导航的库和插件,换句话说,Navigation是用来管理Fragment的切换的,并且是通过可视化的方式来进行管理的。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PYijD0en-1660657387288)(D:\桌面\01资料图(重要)\实战大厂架构与Jetpack深度讲解\navigation.png)]](https://1000bd.com/contentImg/2022/08/19/022848941.png)
Activity和Fragment界面控制器是Android系统提供给我们用的类,可能会根据当前的情况,随时销毁或者重新创建页面控制器,这样就需要我们对于当前界面的数据要做合理的保存,以便发生这种情况可以恢复,Activity和Fragment应该只做UI数据的更新,页面数据的提供应该拆分给一个单独的类来做,就是ViewModel。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PqtsOf3N-1660657387290)(D:\桌面\01资料图(重要)\实战大厂架构与Jetpack深度讲解\viewmodel.png)]](https://1000bd.com/contentImg/2022/08/19/022849086.png)
现如今面向标准化开发已成现实,Jetpack 架构组件及标准化开发模式的确立,意味着Android开发已步入成熟阶段。
熟练使用Jetpack也成为了招聘要求中必不可少的一项,Jetpack的学习,关于网上资料我翻了翻,都比较“散”。没有一套完成版的Jetpack,我从以前阿里的同事哪里拿一套学习资料,还觉得不错,内容很全面。《Jetpack全家桶》这套学习笔记确实可以,想进阶自己,提升技术可以领取学习一下。放在上方粗体吧。

jetpack单个库的学习比较简单,但在正规的项目中都是要联在一起使用的。而且由于使用jetpack的原因,项目都比较精简,如果运用不熟练,改bug或者开发新功能就会很难下手。大家学习jetpack的时候要把常用的库理解清楚,这样就会在jetpck项目框架的理解和功能的开发方面有更好的方案。