【Jetpack】Jetpack 简介 ( 官方架构设计标准 | Jetpack 组成套件 | Jetpac ...

笑看天下无敌手  金牌会员 | 2024-6-24 20:03:37 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 575|帖子 575|积分 1725

一、Google 官方推出的架构设计标准 Jetpack



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 架构 是 基于 分层结构设计模块化开辟设计头脑 提出的 ;

Jetpack 提供了一系列的组件类型 :


  • 基础组件 : 提供 基础 功能 , 可以 简化开辟 , 进步 代码 可维护性 ; 如 : 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 设备中 , 保持运行同等 , 可以低落 测试 , 适配 的 工作量 ;
Jetpack 自带设备系统兼容性解决方案 ;

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 ;

官方推出的库 , 除 SDK 之外的都并入到了 AndroidX 命名空间中 ;

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

笑看天下无敌手

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表