> For the complete documentation index, see [llms.txt](https://kunminx.gitbook.io/relearn-android/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://kunminx.gitbook.io/relearn-android/new_moments.md).

# 更新动态

## **2021 年**

**2021.09.10 翻新** [**架构模式攻略篇**](https://xiaozhuanlan.com/topic/8204519736)

![](/files/-MjHluuc2o2QxmUHFTbV)

**2021.09.06 翻新** [**Navigation 篇**](https://xiaozhuanlan.com/topic/5860149732)

**2021.08.29 翻新** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**、**[**Android GUI 关系梳理篇**](https://xiaozhuanlan.com/topic/2073915486)

**2021.08.28 翻新** [**Activity 生命周期篇**](https://xiaozhuanlan.com/topic/0213584967)**、**[**Activity 重建机制篇**](https://xiaozhuanlan.com/topic/7692814530)

**2021.08.25 翻新** [**MVP、MVVM 关系精讲篇**](https://xiaozhuanlan.com/topic/6105792348)

[‌](https://xiaozhuanlan.com/topic/6105792348)**2021.08.23 加餐** [**高频认知补丁篇**](https://xiaozhuanlan.com/topic/3475690128)：让我们看得更通透一些

![](/files/-MjHpp0DbNNaciTmaHw9)

**2021.08.21 翻新** [**一致性问题完整解析篇**](https://xiaozhuanlan.com/topic/9340256871)**、**[**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)

**2021.08.18 发行** [**LiveData 本质总结篇**](https://xiaozhuanlan.com/topic/6017825943)

**2021.08.16 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x5173;于 “观察者模式” 和 “发布订阅模式” 的区别

**2021.08.15 加餐** [**视图系统导读篇**](https://xiaozhuanlan.com/topic/9361075842)**：**“自定义视图” 学习的爬坑顺序

**2021.08.14 翻新** [**声明式 UI 扫盲干货篇**](https://xiaozhuanlan.com/topic/2356748910)

![](/files/-Mh2NJUxue8cdjavZFsp)

**2021.08.13 翻新** [**Android GUI 关系梳理篇**](https://xiaozhuanlan.com/topic/2073915486)

**2021.08.12 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x662F;内存管理效率进一步优化的 UnPeekLiveData v7.0

**2021.08.12 翻新** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**、**[**滑动冲突缘由篇**](https://xiaozhuanlan.com/topic/8796215034)

**2021.08.11 翻新** [**LiveData 唯一可信源篇**](https://xiaozhuanlan.com/topic/2049857631)**：**&#x914D;图翻新（以下片段节选）

![](https://images.xiaozhuanlan.com/photo/2021/17c15ce6cf6bfd41732fb3bf7b997956.gif)

**2021.08.10 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x76;6.1 源码特制简化版，方便对核心 “防倒灌” 机制的阅读理解

**2021.08.09 翻新** [**Android GUI 关系梳理篇**](https://xiaozhuanlan.com/topic/2073915486)**、**[**一致性问题完整解析篇**](https://xiaozhuanlan.com/topic/9340256871)

**2021.08.06 翻新** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x7CFB;统为何不设计为直接通过 ActivityStack 来管理 ActivityRecord？原因追加。

**2021.07.20 加餐** [**ViewModel 篇**](https://xiaozhuanlan.com/topic/6257931840)**：**&#x56;iewModel 业务能力外的场景及应对方案

**2021.07.19 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x662F;代码复杂度进一步减小的 UnPeekLiveData v6.1

**2021.07.18 加餐** [**ViewModel 篇**](https://xiaozhuanlan.com/topic/6257931840)**：**&#x5BF9; “**状态管理一致性问题**” 的含义及示例的补充

**2021.07.17 翻新** [**Activity 重建机制篇**](https://xiaozhuanlan.com/topic/7692814530)**：**&#x914D;图翻新（以下片段节选）

![](https://images.xiaozhuanlan.com/photo/2021/99f23bf6b1d60453798344d350fa9171.gif)

**2021.07.15 翻新** [**Lifecycle 篇**](https://xiaozhuanlan.com/topic/3684721950)**、**[**Activity 职责边界篇**](https://xiaozhuanlan.com/topic/4568971203)**：**&#x914D;图翻新

**2021.07.13 加餐** [**Activity 生命周期篇**](https://xiaozhuanlan.com/topic/0213584967)**：**&#x53EF;见模式，不如我们称其为 “失焦模式”

**2021.07.10 加餐** [**Navigation 篇**](https://xiaozhuanlan.com/topic/5860149732)**：**&#x4E;avigation 有什么难以替代的好处？

**2021.06.30 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x7CFB;统为何不设计为直接通过 ActivityStack 来管理 ActivityRecord？

**2021.06.25 翻新** [**Android GUI 关系梳理篇**](https://xiaozhuanlan.com/topic/2073915486)**：**&#x4E8B;件分发流程图改进（以下片段节选）

![](https://images.xiaozhuanlan.com/photo/2021/4052d1250451d5e2dec87a13e6956d58.gif)

**2021.06.18 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x662F;代码复杂度更小的 UnPeekLiveData v6.0 设计

**2021.05.22 翻新** [**Lifecycle 篇**](https://xiaozhuanlan.com/topic/3684721950)**：**&#x914D;图翻新

**2021.05.21 翻新** [**深度思考原则篇**](https://xiaozhuanlan.com/topic/9837051426)**：**&#x65B0;增语录

**2021.05.21 发行** [**LiveData 唯一可信源篇**](https://xiaozhuanlan.com/topic/2049857631)

**2021.05.19 翻新** [**Fragment 篇**](https://xiaozhuanlan.com/topic/0937256481)**：**&#x914D;图翻新

**2021.05.13 加餐** [**Activity 重建机制篇**](https://xiaozhuanlan.com/topic/7692814530)**：**

1.更简便的 “状态保存和恢复” 的方式

2.更安全的 “临时数据 持久化存储” 策略

**2021.04.30 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x44;eepLink 和 allowTaskReparenting 实验的复现方式 和 注意事项

**2021.04.22 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x5347;级到 UnPeekLiveData v5.0 获得更好的内存性能和更友好的 API 访问

**2021.04.12 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x5BF9; “Note 2021.01.12 加餐” 的进一步说明

**2021.02.22 发行** [**一致性问题完整解析篇**](https://xiaozhuanlan.com/topic/9340256871)**：**

**2021.02.21 加餐** [**Lifecycle 篇**](https://xiaozhuanlan.com/topic/3684721950)**：**&#x5BF9; “一致性” 及 “一致性问题” 本质的解析

**2021.02.16 翻新** [**Activity 职责边界篇**](https://xiaozhuanlan.com/topic/4568971203)**：**&#x4E00;图胜千言，定制更直观易懂的配图

**2021.02.04 加餐** [**ViewModel 篇**](https://xiaozhuanlan.com/topic/6257931840)**：**&#x5BF9; ViewModel 潜在的内存泄漏的解析

**2021.01.12 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x533F;名内部类有个 “重复订阅” 的坑需要注意

**2021.01.03 发行** [**HTTP 面试应答篇**](https://xiaozhuanlan.com/topic/7184635029)

## 2020 年

**2020.12.31 加餐** [**MVP、MVVM 关系精讲篇**](https://xiaozhuanlan.com/topic/6105792348)**：**“依赖倒置” 的适用场景 及 源码设计分享

![](/files/-MjItRWRbJ_zCqdWaKE0)

**2020.12.27 加餐** [**存储访问适配篇**](https://xiaozhuanlan.com/topic/5240638917)**：**&#x9002;用于团队开发的、记忆成本较低的 “分区存储” 统一适配参考建议

**2020.12.21 加餐** [**存储访问适配篇**](https://xiaozhuanlan.com/topic/5240638917)**：**&#x4ECE; Android 10 起，MediaStore 有 2 个坑需要注意

**2020.12.16 翻新** [**Activity 路由导航篇**](https://xiaozhuanlan.com/topic/2869301475)

**2020.12.11 加餐** [**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)**：**&#x5BF9;网上流传的 ViewBinding 作用的辟谣，并结合 kotlin 的背景，对 ViewBinding 的本质、与 DataBinding 的区别，以及适用场景做全面解析

**2020.12.04 翻新** [**Jetpack MVVM 精讲**](https://xiaozhuanlan.com/topic/0129483567)：对 LiveData 唯一可信源等内容 的简化重制&#x20;

**2020.12.01 加餐** [**架构模式攻略篇**](https://xiaozhuanlan.com/topic/8204519736)：对 DataResult v1.1 新设计的补充说明

**2020.12.01 发行** [**GitHub - Jetpack MVVM 脚手架 v2.2**](https://github.com/KunMinX/Jetpack-MVVM-Scaffold)：结合小伙伴对高频场景的反馈，对 DataResult 及上下游代码做了全面的翻新

![](https://images.xiaozhuanlan.com/photo/2021/c12eff5cac8023aa7bdb7a96a5d8413f.jpg)

**2020.11.28 发行** [**GitHub - StrictDataBinding v3.6**](https://github.com/KunMinX/Strict-DataBinding)：在页面 onDestroy 时自动解绑 mBinding 以规避潜在的内存泄漏

**2020.11.25 翻新** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)：对 SharedViewModel + LiveData 方案关于 “唯一可信源” 本质作用描述的简化重制

**2020.11.18 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x5BF9;启动模式和 FLAG 区别的补充说明

**2020.11.17 翻新** [**声明式 UI 扫盲干货篇**](https://xiaozhuanlan.com/topic/2356748910)：

1.追加 “数据驱动 UI 框架” 运作机制的动画解析，方便小伙伴们对伪代码的阅读理解。

2.翻新和简化 “视图隐藏” 的示例说明，方便小伙伴们在接触 Jetpack Compose、SwiftUI 等过度封装抽象了的 DSL UI 框架时，亦能透过对 “函数式编程思想” 本质的理解 而找到打开方式、以不变应万变。

![](https://images.xiaozhuanlan.com/photo/2021/65d802600c4c5cee694f1bf8bcfab5cd.gif)

**2020.11.12 发行** [**存储访问适配篇**](https://xiaozhuanlan.com/topic/5240638917)

**2020.11.11 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x4E3E;一个关于 “唯一可信源” 通俗易懂的生活案例

**2020.11.10 翻新** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x5BF9; LiveData “促成单向依赖” 和 “支持读写分离” 等特性的描述做简化重制

**2020.11.08 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x5BF9; EventBus 适用场景的解析

**2020.11.04 加餐** [**Activity 生命周期篇**](https://xiaozhuanlan.com/topic/0213584967)**：**&#x9762;试时切忌使用 “Activity 被系统回收” 等说辞

**2020.11.03 加餐** [**架构模式攻略篇**](https://xiaozhuanlan.com/topic/8204519736)**：**

1.正确区分 “可变状态” 和 “只读数据” 的本质及作用

2.而这也就顺带解析了 为什么有了 ViewModel 还要有 Request

![](https://images.xiaozhuanlan.com/photo/2021/95df06859215f5d23cbe90b791b3595c.gif)

**2020.10.31 发行** [**GitHub - StrictDataBinding v3.5**](https://github.com/KunMinX/Strict-DataBinding)

**2020.10.28 加餐** [**架构模式攻略篇**](https://xiaozhuanlan.com/topic/8204519736)**：**

1.透过 State-ViewModel 托管和恢复状态

2.透过 Callback-ViewModel “唯一可信源” 来跨页面通信

**2020.10.27 发行** [**GitHub - Jetpack MVVM 脚手架 v2.1**](https://github.com/KunMinX/Jetpack-MVVM-Scaffold)

**2020.10.23 发行** [**GitHub - UnPeekLiveData v4.4**](https://github.com/KunMinX/UnPeek-LiveData)**：**&#x89C4;避内存泄漏隐患

**2020.10.21 加餐** [**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)**：**&#x5BF9; BindingAdapter 存在缘由的解析

**2020.10.16 发行** [**GitHub - UnPeekLiveData v4.0**](https://github.com/KunMinX/UnPeek-LiveData)

**2020.10.15 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x5347;级到 UnPeekLiveData v4.0 享用 “更快更稳” 的防倒灌机制

**2020.10.14 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x5BF9; “唯一可信源” 概念本质的补充说明

**2020.10.13 发行** [**GitHub - Jetpack MVVM 脚手架 v2.0**](https://github.com/KunMinX/Jetpack-MVVM-Scaffold)

![](https://images.xiaozhuanlan.com/photo/2021/7b717f99235ad3c2e5fb0818099a3bd9.gif)

**2020.09.26 加餐** [**Activity 生命周期篇**](https://xiaozhuanlan.com/topic/0213584967)**：**&#x5173;于 “不建议在 onPause 和 onStop 中做耗时操作” 的独家理解 和 应对技巧分享

**2020.09.14 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x5BF9; “LiveData 不宜用在 Repository” 的解读

**2020.09.12 发行** [**架构模式攻略篇**](https://xiaozhuanlan.com/topic/8204519736)

**2020.09.10 加餐** [**MVP、MVVM 关系精讲篇**](https://xiaozhuanlan.com/topic/6105792348)**：**&#x4A;etpack MVVM 或借鉴了 MVI 开发模式

**2020.08.10 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**

1.通过 Android 9.0 的新 ADB 命令获取简洁的 Activity 堆栈信息

2.最近访问列表中展示的卡片到底是什么

**2020.08.09 加餐** [**ViewModel 篇**](https://xiaozhuanlan.com/topic/6257931840)**：**&#x5BF9;作用域机制本质描述的简化重制

**2020.08.03 加餐** [**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)**：**&#x6CE8;意自定义视图包名的书写规范

**2020.08.01 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x55;nPeekLiveData 屏蔽 observeForever 的缘由

**2020.07.31 加餐** [**声明式 UI 扫盲干货篇**](https://xiaozhuanlan.com/topic/2356748910)**：**&#x901A;过 函数式编程思想 秒懂 数据驱动 UI 框架 的打开方式

**2020.07.27 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x5982;何在打印信息中正确区分 TaskRecord 和 ActivityStack

**2020.07.27 加餐** [**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)**：**&#x73B0;有条件下解决 视图调用一致性问题 的最优解

**2020.07.21 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x55;nPeekLiveData 增加一层 ProtectedUnPeekLiveData 的设计缘由解析

**2020.07.18 发行** [**GitHub - StrictDataBinding v3.0**](https://github.com/KunMinX/Strict-DataBinding)

**2020.07.17 加餐** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)**：**&#x56FE;文解析数据倒灌发生的场景

**2020.07.16 加餐** [**Navigation 篇**](https://xiaozhuanlan.com/topic/5860149732)**：**&#x47;itHub 上的 Navigation Add Hide 修改版的致命通病 和 独家解决方案

**2020.07.16 发行** [**GitHub - SmoothNavigation v3.0**](https://github.com/KunMinX/Smooth-Navigation)

**2020.07.15 发行** [**GitHub - UnPeekLiveData v3.0**](https://github.com/KunMinX/UnPeek-LiveData)

**2020.07.15 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x4C;iveData 数据倒灌 背景缘由全貌 独家解析

**2020.07.15 发行** [**LiveData 数据倒灌篇**](https://xiaozhuanlan.com/topic/6719328450)

**2020.07.09 加餐** [**Jetpack MVVM 精讲篇**](https://xiaozhuanlan.com/topic/0129483567)**：**&#x4C;iveData 有个坑需要注意

**2020.07.07 加餐** [**视图系统导读篇**](https://xiaozhuanlan.com/topic/9361075842)**：**&#x91CD;学安卓 开源库 内部共享计划

**2020.07.06 发行** [**MVP、MVVM 关系精讲篇**](https://xiaozhuanlan.com/topic/6105792348)

**2020.06.29 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**

1.SingleTask 和 SingleInstance 不新建 Task 的特殊情况

2.为什么 SingleInstance Activity 回退直接回到桌面

**2020.06.29 发行** [**Jetpack MVVM 高频提问和解答**](https://juejin.im/post/6844904201856745479)

**2020.06.17 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x7EFC;合实验简化重制版

**2020.06.10 发行** [**GitHub - Jetpack from Java to Kotlin**](https://github.com/Jetpack-Missionary/Jetpack-From-Java-To-Kotlin)

![](https://images.xiaozhuanlan.com/photo/2021/b71278e3b77bf7a0c8f32e823257015d.png)

**2020.05.28 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x5BF9; 5.17 疑问的实验检验结果

**2020.05.21 发行** [**GitHub - Jetpack MVVM 脚手架 v1.0**](https://github.com/KunMinX/Jetpack-MVVM-Scaffold)

**2020.05.17 加餐** [**Activity 任务模型篇**](https://xiaozhuanlan.com/topic/7812045693)**：**&#x4E00;个 app 能有多少个 ActivityStack

**2020.05.06 加餐** [**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)**：**&#x42;indingMethod 与 BindingAdapter 的本质区别

**2020.04.27 加餐** [**声明式 UI 扫盲干货篇**](https://xiaozhuanlan.com/topic/2356748910)**：**

现有条件下解决 视图调用一致性问题 的最优解：

1.DataBinding 严格模式&#x20;

2.kotlin DSL 动态布局

**2020.04.26 加餐** [**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)**：**&#x44;ataBinding 参数语法为何如此设计

**2020.04.21 发行** [**背景缘由拾遗篇**](https://xiaozhuanlan.com/topic/0378514692/)

**2020.04.20 加餐** [**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)**：**&#x56;iewBinding 和 DataBinding 不具可比性

**2020.04.18 发行** [**DataBinding 严格模式**](https://juejin.im/pin/6844910551257055240)

**2020.04.11 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x6CE8;意 观察者模式 和 发布订阅模式 的本质区别

**2020.03.31 加餐** [**Fragment 篇**](https://xiaozhuanlan.com/topic/0937256481)**：**&#x46;ragment 最新 API 支持 replace 回退后的状态恢复

**2020.03.31 加餐** [**Navigation 篇**](https://xiaozhuanlan.com/topic/5860149732)**：**&#x4E0D;建议通过复用 View 的方式优化 onCreateView 的缘由

**2020.03.23 翻新** [**Lifecycle 篇**](https://xiaozhuanlan.com/topic/3684721950)**、**[**Navigation 篇**](https://xiaozhuanlan.com/topic/5860149732)

**2020.03.15 翻新** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**、**[**ViewModel 篇**](https://xiaozhuanlan.com/topic/6257931840)**、**[**DataBinding 篇**](https://xiaozhuanlan.com/topic/9816742350)

**2020.03.15 加餐** [**Activity 重建机制篇**](https://xiaozhuanlan.com/topic/7692814530)**：**&#x6F;nSaveInstanceState 的执行时机在新 API 中已确定

**2020.03.06 发行** [**声明式 UI 扫盲干货篇**](https://xiaozhuanlan.com/topic/2356748910)

**2020.02.27 加餐** [**Lifecycle 篇**](https://xiaozhuanlan.com/topic/3684721950)**：**&#x9020;成人们误认为 “页面 onPause 时不会收到 LiveData 通知” 的原因

**2020.02.17 加餐** [**LiveData 篇**](https://xiaozhuanlan.com/topic/0168753249)**：**&#x46;ragment owner 最新设计的变更及缘由

**2020.02.10 加餐** [**ViewModel 篇**](https://xiaozhuanlan.com/topic/6257931840)**：**&#x5BF9; SavedStated 被单独抽取维护的缘由的解析

**2020.01.29 加餐** [**Activity 职责边界篇**](https://xiaozhuanlan.com/topic/4568971203)**：**&#x4ECE;视图系统架构设计的角度 解析 PhoneWindow 和 ViewRootImpl 二者的本质和区别

**2020.01.29 发行** [**Android GUI 关系梳理篇**](https://xiaozhuanlan.com/topic/2073915486)

## 2019 年

……
