【Jetpack】Jetpack 简介 ( 官方架构设计标准 | Jetpack 组成套件 | Jetpack架构 | Jetpack 的存在意义 | AndroidX 与 Jetpack 的关系 )
创始人
2024-06-03 16:42:39
0

文章目录

  • 一、Google 官方推出的架构设计标准 Jetpack
  • 二、Jetpack 组成套件
  • 三、Jetpack 架构
  • 四、Jetpack 的存在意义
    • 1、提高开发效率
    • 2、最佳架构方案
    • 3、消除样本代码
    • 4、设备系统兼容性
    • 5、改善应用性能
    • 6、测试支持
  • 五、AndroidX 与 Jetpack 的关系





一、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 命名空间中 ;

相关内容

热门资讯

273架!俄连夜发动最猛烈无人... 据美联社5月18日报道称,俄罗斯连夜对乌克兰发动了2022年俄乌冲突爆发以来最猛烈的无人机袭击。乌克...
拎起学生威胁从三楼扔下,老师被... 近日,浙江瑞安的陈先生向媒体反映,他10岁的儿子在校遭老师掐脖殴打,并被拎到三楼悬空窗外威胁要将其扔...
热评丨博物馆的未来 在变革中塑... 去河南洛阳古墓博物馆、内蒙古呼和浩特博物馆,跟着“剧本游”“文物盲盒”看知识怎么在“玩”中进入脑袋;...
520天鹅卡新闻发布会暨宙斯赫...   (2025年5月17日,北京)520天鹅卡新闻发布会暨宙斯赫拉品牌中国市场首发仪式于北京奥林匹克...
解码未来农场:农业+文旅的价值... “农业+文旅”融合发展,正在成为布局农业全产业链的重要路径。2025年中央一号文件明确提出推进乡村文...
人犬障碍赛突发意外:被“甩飞”... 5月17日,在北京举办的狗巴迪勇士赛中,因风力过大,会场一3吨重气膜滑梯被风吹翻,导致一名完赛后正体...
印度南部城市一建筑发生火灾致1... 转自:新华网新华社新德里5月18日电 据印度媒体报道,印度南部特伦甘纳邦首府海得拉巴市一栋建筑18日...
食品安全要经得起“看” 转自:千龙网近日,中办、国办印发《关于进一步强化食品安全全链条监管的意见》,提出推动平台和商户实行“...
管涛:中美联合声明超预期,前景... 中方有意愿也有能力与美方加强合作,帮助美国解决贸易失衡和制造业回流的关切。但这涉及美方对中国商品和服...
三件珍贵标本开箱!中国恐龙大展... 5月18日,中国恐龙大展开箱仪式在上海自然博物馆举行。  本文图片除单独标注外 均为主办方 供图5月...
健康丨晨起后有这4个习惯的人,... 一日之计在于晨晨起后的这段时间是养生的“黄金时间”但你知道吗?喝水、如厕、吃早餐这看似简单的三个动作...
广汽正式登陆埃塞俄比亚 推出两... 观点网讯:5月17日,广汽集团于埃塞俄比亚首都亚的斯亚贝巴举办品牌上市发布会,正式宣告进入该国市场。...
中信建投:腾讯、阿里AI投入初... 人民财讯5月18日电,中信建投研报表示,腾讯与阿里发布财报,当前仍处于AI基础设施的投资期,尽管季度...
长城访谈丨“长城宝贝”在这里安... 转自:河北新闻网 5月18日是国际博物馆日。今年国际博物...
“飞车党”夜里紧追小女孩将其吓... “两名飞车党夜里追幼儿园小女孩!”近日,有网友发布的视频显示,5月17日晚9时29分许,有两人骑车紧...
东西问丨肖小勇:新疆喀什莫尔寺... 中新社乌鲁木齐5月18日电 题:新疆喀什莫尔寺遗址何以入选中国十大考古新发现?——专访中央民族大学教...
正强股份:股东达辉投资计划减持... 正强股份(SZ 301119,收盘价:49.48元)5月18日晚间发布公告称,杭州正强传动股份有限公...
巴彦淖尔市杭锦后旗火爆“出圈” 转自:草原云5月17日19时,巴彦淖尔市杭锦后旗“5·19中国旅游日”暨“陕坝味道”大型美食活动启幕...
云从科技:约7982.24万股... 云从科技(SH 688327,收盘价:13.33元)5月18日晚间发布公告称,公司限售股份约7982...
帮助更多残疾人活出精彩人生——... 转自:中工网新华社北京5月18日电新华社记者今年5月18日是第三十五个全国助残日。连日来,全国多地以...