Compose UI 自定义布局实战

工作中碰到有一个需求是类似于 FlexColumn 的排列,但是项目中的 Compose 版本较低没有 Modifier.fillMaxColumnWidth(),于是考虑使用自定义 Layout 实现。

阅读更多

Jetpack LiveData 原理

根据官方文档的描述,LiveData 是一种可观察的数据存储器类。它具有生命周期感知能力,会遵循 LifeCycleOwner 的生命周期,只有观察者的生命周期处于 STARTED 或 RESUMED 状态的时候才会通知观察者更新。

根据 LiveData 的这一系列特性,将它和 ViewModel 一起使用是在 Android 平台上实现 MVVM 模式的绝佳途径。

阅读更多

Jetpack SavedState 原理

Android 的 Activity 有着一套 onSaveInstanceState - onRestoreInstanceState 状态保存机制,旨在「系统资源回收」或「配置发生变化」保存状态,为用户提供更好的体验。

在 androidx 下,提供了 SavedState 库帮助 Activity 和 Fragment 处理状态保存和恢复。

阅读更多

Jetpack ViewModel 原理

ViewModel 是 Architecture Components 官方架构组件之一。

ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据,它让数据可在发生屏幕旋转等配置更改后继续留存。

阅读更多

Jetpack Lifecycle 原理

Lifecycle 是 Architecture Components 官方架构组件之一。

它可以让我们在另外的组件中感知到 Activity 或 Fragment 的生命周期状态的变化,有助于我们写出更有条理、更精简、易于维护的代码。

阅读更多