Jetpack介绍(地址:https://developer.android.google.cn/jetpack)
1.1.Android Jetpack是Google在18年IO大会上推荐的一个由多个库组成的套件,一套库、工具和指南的合集,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。
Android Jetpack 完美兼容 Kotlin 语言,利用 Android KTX 可大幅节省代码量。Jetpack中的有些组件并不是第一次推出,其中LifeCycle、LiveData、ViewModel、Room等组件早在 Google I/O 2017年大会上就随着 Android Architecture Component(AAC/安卓系统体系结构组件)一起推出了,但是推广效果一般。时隔一年后谷歌在AAC的基础之上发布了Jetpack,并发布了其他工具以解决Android技术选型乱以及开发不规范等问题。它的出现填补了之前Android中自带的一些缺陷,例如Handler的内存泄露、Camera的不易用性、后台调度难以管理等等。
Jetpack 包含与平台 API 解除捆绑的 androidx.* 软件包库。这意味着,它可以提供向后兼容性,且比 Android 平台的更新频率更高,以此确保您始终可以获取最新且最好的 Jetpack 组件版本。
1.2.JetPack的组成
Jetpack 组件覆盖以下 4 个方面:Architecture、Foundation、Behavior 以及 UI。
Foundation(基础): 基础组件可提供横向功能,例如向后兼容性、测试和 Kotlin 语言支持。
Architecture(架构):架构组件可帮助您设计稳健、可测试且易维护的应用。
UI(界面) :界面组件可提供微件和辅助程序,让您的应用不仅简单易用,还能带来愉悦体验。
Behavior(行为): 行为组件可帮助您的应用与标准 Android 服务(如通知、权限、分享和 Google 助理)相集成。
1.3.Jetpack优缺点
1.4.Jetpack 与 AndroidX
Jetpack 是各种组件库的统称,AndroidX 是这些组件的统一包名。
AndroidX 对原始 Android Support Library 进行了重大改进,后者现在已不再维护。androidx 软件包完全取代了 support 包,不仅提供同等的功能,而且提供了新的库。Jetpack 组件中也是完全使用 androidx 开头的包名。
与 Support Library 一样,androidx 命名空间中的库与 Android 平台分开提供,并向后兼容各个 Android 版本。
版本 28.0.0 是 Support Library 的最后一个版本。以后将不再发布 android.support 库版本。所有新功能都将在 androidx 命名空间中开发。