一、Google 官方推出的架构规划标准 Jetpack
(完整版)全新版Jetpack进阶提升,系统性落地短视频App
download:https://www.sisuoit.com/4170.html
Android 架构开展 : Android 架构的开展 途径了 MVC -> MVP -> MVVM 等计划 , 这些架构都 不是 Google 官方提出的 , 都是各个团队 依据自己的需求推出的适合自己的架构计划 ;
Jetpack 是 Google 推出的 架构规划标准 , 是官方推出 架构规划辅导计划 ;
凭借 Jetpack 供给的一系列的 东西 和 组件 , Android 开发者 能够 快速高效地 构建出 高质量 / 高功用 的运用架构 ;
运用 Jetpack 供给的架构 , 能够 简化 Android 运用开发架构相关内容 , 而且能够 削减格式化样本代码的编写 , 开发者能够运用更多的精力和时刻 专注于 业务逻辑 的开发 ;
同时 , 还能够 削减 犯错溃散 的概率 , 内存走漏 , 下降代码复杂度 ;
二、Jetpack 组成套件
Jetpack 是 Google 官方提出的 , 由 多个 库 组成的 套件 , 这些库包括 :
UI 库 : Animation , Transitions , Emoji , Layout , Palette …
架构库 : Data Binding , ViewModel , Lifecycles , LiveData , Navigation , Padding , Room …
行为库 : Download Manager , Permissions , Notifications , Sharing …
基础库 : AppCompat , Android KTX , Multidex , Test …
三、Jetpack 架构
Jetpack 是 Google 推出的 架构规划标准 , 是官方推出 架构规划辅导计划 ;
Jetpack 架构 是 基于 分层结构规划 和 模块化开发 的 规划思维 提出的 ;
etpack 供给了一系列的组件类型 :
基础组件 : 供给 基础 功用 , 能够 简化开发 , 进步 代码 可维护性 ; 如 : Android KTX ;
架构组件 : 构建 呼应式的 , 高效的 , 可测验 的运用程序 ; 如 : ViewModel 办理 UI 数据模型 , LiveData 用于 呼应数据 改动 , Room 办理数据库模块 等 ;
UI 组件 : 创立 灵敏 , 漂亮 , 易于扩展 的 UI 界面 ; 如 : ConstraintLayout 束缚布局 , RecyclerView 列表 , ViewPager2 组件 ;
测验组件 : 创立 可靠 自动化测验 模块 ; 如 : JUtils , Espresso , UI Automator 等测验组件 ;
功用组件 : 办理 后台任务 , 导航 , 分页 等实际功用 ; 如 : WorkManager 等 ;
Jetpack 架构中 , 每个组件 都有其 相应的 功用 , 依据 项目的需求 , 和 团队的分工 , 将各种组件 进行 组合运用 , 就能够 构成一个 高可靠性的 项目架构 ;
运用 Jetpack 组件组合成的 架构规划 , 能够快速构建 运用程序 , 而且进步程序的稳定性 , 可维护性 ;
四、Jetpack 的存在含义
1、进步开发功率
Jetpack 供给了 许多 现成 的 组件 和 东西 , 能够快速 构建 高质量 / 高功用 的 Android 工程 , 而且能够 进步 代码的 稳定性 , 可维护性 ;
运用 Jetpack 库 , 削减了许多 重复性的 代码作业 , 进步了开发功率 ;
2、最佳架构计划
Jetpack 是 Google 引荐的最佳的架构计划 , 一直在 不断更新 , 而且 兼容之前的 Android 体系版别 ;
运用 Jetpack 能够削减 架构带来 内存走漏 和 溃散 ;
3、消除样本代码
运用 Jetpack 开发套件 , 能够轻松进行 工程架构 , 削减不必要的 架构相关的样板代码 , 开发者只需求专注开发自己的逻辑代码即可 ;
Jetpack 供给了一套 UI , 行为 , 架构 相关的解决计划 , 开发者能够不用再架构上浪费时刻 , 专注开发自己的逻辑 ;
样板代码示例 : Activity 中办理各种生命周期 ;
4、设备体系兼容性
开发 Android 运用 , 需求 考虑到 Android 的各个版别的特性 , 以及 各个 Android 手机厂商的适配问题 , 需求花费许多的时刻精力进行适配作业 ;
运用 Jetpack 能够确保 在 各个 Android 版别 , 各种 Android 设备中 , 保持运转一致 , 能够下降 测验 , 适配 的 作业量 ;
etpack 自带设备体系兼容性解决计划 ;
5、改进运用功用
运用 Jetpack 供给的 一系列的 组件 和 东西 , 能够
进步 运用的 功用 ,
进步 代码稳定性 ,
进步 代码可维护性 ,
削减运用溃散 ,
削减运用内存走漏 ;
6、测验支撑
Jetpack 供给了一系列的 测验组件 ,
凭借 Espresso , UI Automator , JUnit 测验组件 ,
能够快速 创立 Android 自动化测验 功用 ,
进步 程序的 质量 , 进步代码的稳定性 ;
五、AndroidX 与 Jetpack 的联系
Google 推出的 AndroidX 库 , 其 更新频率很频繁 , AndroidX 没有并入 SDK , 是因为其 更新频率很高 , 几乎 每个月都要更新 , Android 的 SDK 每次只在新版别发布时才更新 , 基本要半年到一年才能更新一次 ;
官方的 SDK 有许多不完善的当地 , Google 开发了许多开源项目 , 对 SDK 缺陷进行修正 , 这些开源项目最后都并入了 AndroidX 项目 , 其中每个子项目都在更新 , 因此 AndroidX 更新频率很高 ;
AndroidX 与 Jetpack 的联系 :
AndroidX 的命名空间 中 包含了 Jetpack 套件 ;
之前的 Android Support Library 已经停止更新 , 官方引荐运用 AndroidX 代替 Android 支撑库 ;
Android Architecture Component 架构组件 也 并入了 AndroidX ;
领取专属 10元无门槛券
私享最新 技术干货