• 最新
  • 热门
  • 所有
  • 外汇
  • 24 小时
  • 期货
  • 基金
  • 贵金属
  • 股票
xiuyuantech 博客 – 谷歌官方 Jetpack 库学习记录

xiuyuantech 博客 – 谷歌官方 Jetpack 库学习记录

2026 年 1 月 23 日

为何跨界投资可控核聚变公司?中集环科高管详解背后逻辑

2026 年 1 月 23 日

生物医药 ETF(512290) 涨超 1%,机构看好行业景气延续

2026 年 1 月 23 日
达沃斯报告曝光:三大风险与不容错过的机遇

达沃斯报告曝光:三大风险与不容错过的机遇

2026 年 1 月 23 日
广告
IMF上调2026年中国经济增长预期

证监会发布 《公开募集证券投资基金业绩比较基准指引》

2026 年 1 月 23 日
IMF上调2026年中国经济增长预期

证监会严查私募违规募集、侵占挪用、自融自用、利益输送

2026 年 1 月 23 日
【新华500】新华500指数(989001)23日涨0.09%

【新华 500】 新华 500 指数 (989001)23 日涨 0.09%

2026 年 1 月 23 日
十四届全国人大常委会第十八次会议10月24日至28日将在京举行

首席展望|瑞银王宗豪:2026 年 AI 为配置主旋律 中国资产迎外资加仓窗口

2026 年 1 月 23 日
王小川再谈AI医疗:行业存在「皇帝的新衣」,医院没必要造模型

王小川再谈 AI 医疗:行业存在 「皇帝的新衣」,医院没必要造模型

2026 年 1 月 23 日
新美联储主席之争:不仅要当「降息派」,更得是「QE放水派」

新美联储主席之争:不仅要当 「降息派」,更得是 「QE 放水派」

2026 年 1 月 23 日
超30倍的增长空间?太空光伏概念梳理

超 30 倍的增长空间?太空光伏概念梳理

2026 年 1 月 23 日
证监会进一步扩大期货市场开放品种范围

证监会进一步扩大期货市场开放品种范围

2026 年 1 月 23 日

机器人产业 ETF(159551) 涨超 0.9%,行业趋势与前景获关注

2026 年 1 月 23 日
金桂财经
广告
2026 年 1 月 23 日 星期五
联系我们
合作建议
  • 首页
  • 24 小时
  • 全球金融
  • 股市风云
  • 基金动态
  • 金财眼
  • 期货新闻
  • 期货研报
  • 外汇市场
  • 贵金属
  • 未来科技
  • 登录& 注册
没有结果
查看所有结果
  • 首页
  • 24 小时
  • 全球金融
  • 股市风云
  • 基金动态
  • 金财眼
  • 期货新闻
  • 期货研报
  • 外汇市场
  • 贵金属
  • 未来科技
没有结果
查看所有结果
金桂财经
没有结果
查看所有结果

xiuyuantech 博客 – 谷歌官方 Jetpack 库学习记录

来自 金桂财经
2026 年 1 月 23 日
在 科技
0

xiuyuantech 博客: https://xiuyuantech.github.io/

YOU MAY ALSO LIKE

TechWeb 微晚报:Siri 转型全能聊天机器人,「电子木鱼」 盲盒引爆热搜

铸铁焊接平台: 从" 准」 说到 「铁」| 铸铁焊接平台

Jetpack 包含一系列 Android 库,它们都采用最佳做法并在 Android 应用中提供向后兼容性。
Jetpack 库可以单独使用,也可以组合使用,以满足应用的不同需求。
例如:
WorkManager - 满足您的后台调度需求。
Room - 实现数据存储持久性。
Navigation - 管理应用导航流程。
CameraX - 满足相机应用需求。

实现方式
所有 Jetpack 组件都可在 Google Maven 代码库中找到。 在应用中使用
Jetpack 库:打开 settings.gradle 文件,将 google() 代码库添加到 dependencyResolutionManagement { repositories
{…}} 块中,如下所示:

dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
jcenter()
}
}

如需详细了解如何使用 Jetpack,请查看以下页面:

Android 架构组件
Jetpack 组件的完整列表

从零到一搭建
我的 Demo 采用 MVVM 的设计模式,框架图如下:

Jetpack 组件:

Navigation:一个用于管理 Fragment 切换的工具类,可视化、可绑定控件、支持动画等是其优点。
Data Binding:不用说,都知道,加速 MVVM 的创建。
Lifecycle:虽然我没有写文章介绍,但是不代表它的作用不够强大,他是我们能够处理 Activity 和 Fragment 的生命周期的重要原因,在 AndroidX 的 Fragment 和 Activity 已经对 Lifecycle 提供了默认支持。

ViewModel:当做 MVVM 的 ViewModel 层,并具有声明周期意识的处理和 UI 相关的数据。
LiveData:同 RxJava 的作用一样,对数据进行监听,优点就是无需处理生命周期、无内存泄漏等。
Room:强大的 ORM 数据库框架。
Paging:易于使用的数据分页库,支持 RecyclerView。
WorkManager:灵活、简单、延迟和保证执行的后台任务处理库

使用踩坑

LiveData
优点:对数据进行监听,拥有可观察、生命周期感知、、无内存泄漏等的特点。 缺点:

只能在主线程中订阅和移除观察者
数据丢失问题, 在数据生产速度 > 数据消费速度时,LiveData 无法观察者能够接收到全部数据。比如在子线程大量 postValue 数据但主线程消费跟不上时,中间就会有一部分数据被忽略。
在 Fragment 中出现 LiveData 同样数据多次回调的问题, 针对这个问题,Google 一位大神在 Stack Overflow 实现了一个复写类 SingleLiveEvent.
observeForever 和 removeObserver 方法要配套使用, 否则会导致内存泄漏问题
LiveData 天生就是粘性的, 当我们重复订阅的时候, 会返回最后一次结果. UnPeek-LiveData 开源库可以解决这个问题。 LiveData 的替代者: RxJava: RxJava
是第三方组织 ReactiveX 开发的组件,Rx 是一个包括 Java、Go 等语言在内的多语言数据流框架。功能强大是它的优势,支持大量丰富的操作符,也支持线程切换和背压。然而 Rx
的学习门槛过高,对开发反而是一种新的负担,也会带来误用的风险。 Kotlin Flow: Kotlin Flow 是基于 Kotlin 协程基础能力搭建的一套数据流框架,从功能复杂性上看是介于
LiveData 和 RxJava 之间的解决方案。Kotlin Flow 拥有比 LiveData 更丰富的能力,但裁剪了 RxJava 大量复杂的操作符,做得更加精简。并且在 Kotlin
协程的加持下,Kotlin Flow 目前是 Google 主推的数据流框架。

Room
数据库加密不友好,推荐使用 saferoom 开源库适配
数据库版本升级迁移不友好,仅支持增删列字段,增删索引必须删除表重新创建; 新增字段必须添加默认值, 建议项目创建时就添加默认值, 索引一个字段单独使用普通索引, 不建议使用联合索引即 Index(字段 1, 字段 2);

Paging
仅适合加载查看数据的场景,不适合增删改的场景且无增删改方法。一旦增删改之后,Paging 分页逻辑将失去作用。
界面不可见后一段时间切回来时会重新加载数据。 解决方法: 1) 对 PagingFlow 添加 cacheIn(viewModelScope)。 2) 不使用 CoroutineLiveData,直接用
lifecycleScope.launchWhenCreated 和 flow 来接收 PagingData 数据。

WorkManager
适配 android12,版本必须在 2.7.1 之上
定时任务不一定准时执行,但一定会执行

总结
1.Android Jetpack 组件中的很多库都对其他库提供了支持,比如 Room 和 Paging 就对 LiveData 提供了支持。
2. 向后兼容:基本上每个组件都对低版本提供了支持。支持 RxJava:由于 RxJava 强大的生态环境,几乎和数据相关的组件都对 RxJava 提供了支持。
3. 减少代码量:以 Data Binding + ViewModel + LiveData 或 RxJava 构建的 MVVM 模式能够显著减少代码量,比较平时使用的 MVP 模式也会更加方便,无需主动更新 UI。
4. 无需捆绑:Android Jetpack 系列组件可以无需捆绑使用,你如果只想用里面的单个库,那么就可以仅仅依赖一个库。

业务咨询:https://soloist.pages.dev

文章来源:w2solo

Search

没有结果
查看所有结果

一周热门

为何跨界投资可控核聚变公司?中集环科高管详解背后逻辑

2026 年 1 月 23 日

生物医药 ETF(512290) 涨超 1%,机构看好行业景气延续

2026 年 1 月 23 日
达沃斯报告曝光:三大风险与不容错过的机遇

达沃斯报告曝光:三大风险与不容错过的机遇

2026 年 1 月 23 日
IMF上调2026年中国经济增长预期

证监会发布 《公开募集证券投资基金业绩比较基准指引》

2026 年 1 月 23 日
IMF上调2026年中国经济增长预期

证监会严查私募违规募集、侵占挪用、自融自用、利益输送

2026 年 1 月 23 日
【新华500】新华500指数(989001)23日涨0.09%

【新华 500】 新华 500 指数 (989001)23 日涨 0.09%

2026 年 1 月 23 日
十四届全国人大常委会第十八次会议10月24日至28日将在京举行

首席展望|瑞银王宗豪:2026 年 AI 为配置主旋律 中国资产迎外资加仓窗口

2026 年 1 月 23 日
王小川再谈AI医疗:行业存在「皇帝的新衣」,医院没必要造模型

王小川再谈 AI 医疗:行业存在 「皇帝的新衣」,医院没必要造模型

2026 年 1 月 23 日
新美联储主席之争:不仅要当「降息派」,更得是「QE放水派」

新美联储主席之争:不仅要当 「降息派」,更得是 「QE 放水派」

2026 年 1 月 23 日
超30倍的增长空间?太空光伏概念梳理

超 30 倍的增长空间?太空光伏概念梳理

2026 年 1 月 23 日
金桂财经

2026 年 1 月
一 二 三 四 五 六 日
 1234
567891011
12131415161718
19202122232425
262728293031  
« 12 月    

近期动态

  • 为何跨界投资可控核聚变公司?中集环科高管详解背后逻辑
  • 生物医药 ETF(512290) 涨超 1%,机构看好行业景气延续
  • 达沃斯报告曝光:三大风险与不容错过的机遇
  • 证监会发布 《公开募集证券投资基金业绩比较基准指引》
  • 证监会严查私募违规募集、侵占挪用、自融自用、利益输送
  • 【新华 500】 新华 500 指数 (989001)23 日涨 0.09%
广告

Copyright © 2025 广州金桂广告传媒有限公司. 粤 ICP 备 2025390655 号

  • 关于本站
  • 联系我们
  • 隐私政策
没有结果
查看所有结果
  • 登录& 注册

Copyright © 2025 广州金桂广告传媒有限公司. 粤 ICP 备 2025390655 号

  • 登录
  • 注册
忘记密码?
Lost your password? Please enter your username or email address. You will receive a link to create a new password via email.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }