赞
踩
一、Jetpack 介绍
1、什么是Jetpack
Google 官方解释:
Jetpack 是一个由多个库组成的套件,可帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者精力集中编写重要的代码。
Jetpack 是 Google 为解决 Android 开发碎片化,打造成熟健康生态圈提出的战略规划,是 Google 对 Android 未来提出的发展方向,同时它也是众多优秀 Android 组件的集合。
2、为何使用 Android Jetpack
Google 官方解释:
遵循最佳做法:Android Jetpack 组件采用最新的设计方法构建,具有向后兼容性,可以减少崩溃和内存泄露。
消除样板代码:Android Jetpack 可以管理各种繁琐的 Activity(如后台任务、导航和生命周期管理),
以便您可以专注于打造出色的应用。
减少不一致:这些库可在各种 Android 版本和设备中以一致的方式运作,助您降低复杂性。
Jetpack 的优势:
Jetpack 拥有基于生命周期感知的能力,可以减少 NPE(空指针异常) 崩溃、内存泄漏,为开发出健壮且流畅的程序提供强力保障;
Jetpack 可以消除大量重复样板式的代码,可以加速 Android 的开发进程,组件可搭配工作,也可单独使用,同时配合 Kotlin 语言特性能够显著提高工作效率;
统一开发模式,抛弃传统的 MVC, MVP;
3、JetPack 的构成
Jetpack 主要包括 4 个部分,分别是【Architecture:架构】、【UI:界面】、【behavior:行为】和【foundation:基础】。
Architecture,架构组件
Lifecycle:具备宿主生命周期感知能力的组件 特性:持有组件(如 Activity 或 Fragment)生命周期状态的信息,并且允许其他对象观察此状态;
LiveData:新一代具备生命周期感知能力的数据订阅、分发组件 特性:支持共享资源、支持黏性事件的分发、不再需要手动处理生命周期、确保界面符合数据状态;
ViewModel:具备生命周期感知能力的数据存储组件 特性:页面因配置变更导致的重启,此时数据不丢失;可以实现跨页面(跨 Activity)的数据共享;
SavedState 架构组件原理解析 特性:因内存不足,电量不足导致页面被回收时可以搭配 ViewModel 实现数据存储与恢复;
Room:轻量级 orm 数据库,本质上是一个 SQLite 抽象层 特性:使用简单(类似于 Retrofit 库),通过注解的方式实现相关功能,编译时自动生成相关实现类
DataBinding:只是一种工具,解决的是 View 和数据之间的双向绑定 特性:支持数据与视图双向绑定、数据绑定空安全、减少模板代码、释放 Activity/Fragment 压力;
Paging: 列表分页组件,可以轻松完成分页预加载以达到无限滑动的效果 特性:巧妙融合 LiveData、提供多种数据源加载方式;不足之处:不支持列表数据增删改,列表添加 HeaderView,FooterView 定位不准确;
Navigation 组件原理分析:端内统一路由组件 特性:能够为 Activity,Fragment,Dialog,FloatWindow 提供统一的路由导航服务,可以传递参数,指定导航动画,还支持深度链接等主要能力;不足:十分依赖 xml 配置文件不利于组件化,模块化
WorkManager:新一代后台任务管理组件,service 能做的事情它都能做 特性:支持周期性任务调度、链式任务调度、丰富的任务约束条件、程序即便退出,依旧能保证任务的执行;
————————————————
版权声明:本文为CSDN博主「hyl_xnq」的原创文章。
原文链接:https://blog.csdn.net/hylxnq/article/details/110608405。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。