首先我们来了解下什么是 Jetpack ?
Google 官方解释:
Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者集中精力编写重要的代码
Jetpack 是 Google 为解决 Android 开发碎片化,打造成熟健康生态圈提出的战略规划,是 Google 对 Android 未来提出的发展方向,同时它也是众多优秀 Android 组件的集合
而且从实际的 岗位需求 来看,Jetpack 也正在逐渐成为大厂必备技能 ;例如:
火萤
那我们 Jetpack 的优势在哪里?
- 遵循最佳做法: Android Jetpack 组件采用最新的设计方法构建,具有向后兼容性,可以减少崩溃和内存泄露
- 消除样板代码: Android Jetpack 可以管理各种繁琐的 Activity(如后台任务、导航),以便您可以专注于打造出色的应用
- 减少不一致:这些库可在各种 Android 版本和设备中以一致的方式运作,助您降低复杂性
- 拥有基于生命周期感知的能力:Android Jetpack 可以减少 NPE(空指针异常) 崩溃、内存泄漏,为开发出健壮且流畅的程序提供强力保障
- 可以消除大量重复样板式的代码:可以加速 Android 的开发进程,组件可搭配工作,也可单独使用,能够显著提高工作效率
那我们应该如何去学习 Android Jetpack ?
关于 Jetpack 的文档资料 在网上其实有很多,但大多 杂而不精,并不能给提供一个好的学习方向;所以为了让大家对 Android Jetpack 有充分的了解, 我通过这些年的工作经历和对网上的资料查询和整理,最终将其整合了成了一个 PDF 文档; 需要 完整版 PDF 文档 的朋友:现在 私信 发送 “进阶” 即可 免费获取;希望大家通过阅读这份文档,能够查漏补缺;早日 精通 Jetpack
资料展示如下:
Jetpack 全家桶目录
Jetpack 全家桶系列之Lifecycle
- 万物基于 Lifecycle
- 手动管理生命周期的痛苦你不懂
- 按照惯例的思考
- 观察者模式
- 引入 Lifecycle 后
- 源码结构
- 简单的源码分析
- activity 生命周期处理
- fragment 生命周期处理
- Lifecycle State 大小比较
Jetpack 全家桶系列之 ViewModel
- ViewModel 的职责
- 作为数据持有者
- Fragment 间共享数据
- 代替 Loader
- ViewModel 源码分析
- 如何做到 activity 重建后 ViewModel 仍然存在?
- 如何做到 fragment 重建后 ViewModel 仍然存在?
- 如何控制作用域?
- 如何避免内存泄漏?
- ViewModel 和 onSaveInstanceState
完整版 PDF 文档获取方式: 私信发送 “进阶” 即可 免费获取
Jetpack 全家桶系列之 ViewModel
- 数据驱动魔法师
- DataBinding 基础
- DataBinding 引入
- 使用DataBinding 解决的问题及实现原理
- Binding Adapter
- DadaBinding + LiveData
- 各种 findViewById 替代方案对比
Jetpack 全家桶系列之 Navigation
- Navigation 简介
- Navigation 能做什么
- Navigation 工作逻辑
- Navigation Graph
- Navigation 的使用技巧
- 同一 graph 中共享 ViewModel
- 嵌套 navigation graph
- Navigation 设计探讨
- fragment replace 你真的了解吗
- 被重建的 fragment
Jetpack 全家桶系列之 LiveData
- 我们都是 Adapter
- 理想的数据模型
- observable
- lifecycle-aware
- data holder
- Transformations
- LiveData 的错误用法
- 错误地使用 var LiveData
- LiveData 粘性事件
- 源码结构
- LiveData
- MutableLiveData
- Observer
- 源码分析
需要 完整版 PDF 文档 的朋友:现在 私信 发送 “进阶” 即可 免费获取
作为 Android 开发者,无论我们是否使用 Jetpack,就 Jetpack 本身而言,其精妙的设计以及设计思想都是非常值得我们学习的
以上是我的一点见解,目前我也在学习 Jetpack,相信未来 Jetpack 会越来越好