Android Jetpack组件的作用是什么?
- Navigation:一个用于管理Fragment切换的工具类,可视化、可绑定控件、支持动画等是其优点。
- Data Binding:不用说,都知道,加速MVVM的创建。
- Lifecycle:他是我们能够处理Activity和Fragment的生命周期的重要原因,在AndroidX的Fragment和Activity已经对Lifecycle提供了默认支持。
- ViewModel:当做MVVM的ViewModel层,并具有声明周期意识的处理和UI相关的数据。
- LiveData:同RxJava的作用一样,对数据进行监听,优点就是无需处理生命周期、无内存泄漏等。
- Room:强大的ORM数据库框架。
- Paging:易于使用的数据分页库,支持RecyclerView。WorkManager:灵活、简单、延迟和保证执行的后台任务处理库。
你可能选择Android Jetpack的原因
以下可能是你会选择Android Jetpack的原因:
- 一起使用更方便:因为Android Jetpack组件中的很多库都对其他库提供了支持,比如Room和Paging就对LiveData提供了支持。
- 向后兼容:基本上每个组件都对低版本提供了支持。
- 支持RxJava:由于RxJava强大的生态环境,几乎和数据相关的组件都对RxJava提供了支持。
- 减少代码量:以Data Binding + ViewModel + LiveData或RxJava构建的MVVM模式能够显著减少代码量,比较平时使用的MVP模式也会更加方便,无需主动更新UI。
- 无需捆绑:Android Jetpack系列组件可以无需捆绑使用,你如果只想用里面的单个库,那么就可以仅仅依赖一个库。
Android Jetpack要学吗?
学,肯定要学,Android Jetpack于谷歌而言,这是他们重新整理和统一安卓生态环境决心的体现,Android Jetpack所展现的内容,也是谷歌想拓展和维护的方向。于长期苦恼于第三方库选择的广大Android开发者而言,这是谷歌为我们提供的一盏明灯。
也许,Android Jetpack系列的部分库还没成熟到成为你工作的第一选择,但是,深入学习Android Jetpack组件会为你提供与谷歌大佬深入交流的机会,为你日常的开发带来一些想法。