由多个库组成的 Android Jetpack,到底有多厉害?_android jetpack优势

本文介绍了AndroidJetpack的核心构成,包括架构组件、基础组件、行为组件和UI组件,强调其在处理版本兼容性和开发者效率提升方面的优势。作者提供了系统化的学习资源和建议,鼓励读者深入理解和实践Jetpack组件以提升技术能力。
摘要由CSDN通过智能技术生成

根据官方的定义其实能够提炼出两个核心点:

1、它是一套组件库(说明它是由许多个不一样的组件库构成,并非一个单一的组件库)

2、使用 Jetpack 能够帮助咱们在不一样的 Android 版本和不一样的设备上,实现行为一致的工作代码;(说明 Jetpack 能够轻松的处理由 Android 版本不一致和设备不一样产生的差别性和兼容性问题)

接下来我们看下 Jetpack 的构成

在这里插入图片描述
我们可以从上述的这张 Android Jetpack 的架构图上看到, Android Jetpack 的构成是十分庞大的,主要是由 **Architecture(架构组件) 、Foundationy(基础组件)、Behavior(行为组件、UI(界面组件)**四大部分组成

不难发现,这 Android Jetpack 系列库里面是有不少我们曾经学习过的东西,例如:Fragment、WebView、Room 都归属于 Jetpack 中来了,由此可见,Jetpack 并不全是些新的事物,只要是能够帮助开发者更好更方便的构建应用程序的组件,基本上都被加入到了 Jetpack 中来

Jetpack 的优势?

  • 遵循最佳做法:Android Jetpack 组件采用最新的设计方法构建,具有向后兼容性,可以减少崩溃和内存泄露
  • 消除样板代码:Android Jetpack 可以管理各种繁琐的 Activity(如后台任务、导航),以便您可以专注于打造出色的应用
  • 减少不一致:这些库可在各种 Android 版本和设备中以一致的方式运作,助您降低复杂性
  • 拥有基于生命周期感知的能力:Android Jetpack 可以减少 NPE(空指针异常) 崩溃、内存泄漏,为开发出健壮且流畅的程序提供强力保障
  • 可以消除大量重复样板式的代码:可以加速 Android 的开发进程,组件可搭配工作,也可单独使用,能够显著提高工作效率

如何正确的去学习 Jetpack ?

关于 Jetpack 的文档资料 在网上其实有很多,但大多 杂而不精,并不能给提供一个好的学习方向;所以为了让大家对 Android Jetpack 有充分的了解, 我通过这些年的工作经历和对网上的资料查询和整理,最终将其整合了成了一个 PDF 文档《Jetpack架构组件从入门到精通》 需要 完整版PDF文档 的朋友文末卡片直接领取。

一、Android Jetpack - NavigationNavigation

直接翻译即为导航,它是 Android Jetpack 组件之一,让单 Activity 应用成为首选架构。应用内Fragment页面的跳转则由 Navigation 来处理,开发者无需在处理 FragmentTransaction 的复杂性以及相关的转场动画。

二、Android Jetpack - Data Binding

Data Binding 是一个支持库,它使用一种 声明的方式 代替 编码的方式,用来绑定 UI 控件和数据源。
在这里插入图片描述

三、Android Jetpack - ViewModel & LiveDataViewModel

将视图和逻辑进行了分离。Activity或者Fragment只负责UI显示部分。具体的网络请求或者数据库操作则有ViewModel负责。类似于MVP模式中的Presenter层。

LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。

四、Android Jetpack - Room

Room是Jetpack组件库一员,属于ORM库,主要是对Sqlite做了一层抽象,从而简化开发者对数据库操作。Room支持编译时的语法检查,并且支持返回LiveData。

在这里插入图片描述
在这里插入图片描述

五、Android Jetpack - Paging

Paging Libray分为三部分:DataSource, PagedList, PagedAdapter

在这里插入图片描述
在这里插入图片描述

六、Android Jetpack - WorkManger
【附】相关架构及资料

往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值