android liveData observeForever 与 observe对比
LiveData
是一个非常有用的组件,用于在数据变化时通知观察者。LiveData
提供了两种主要的观察方法:observe
和 observeForever
。这两种方法在使用场景、生命周期感知以及内存管理等方面有所不同。
一、observe
方法
1. 基本介绍
- 生命周期感知:
observe
方法是生命周期感知的,这意味着它只在观察者(通常是Activity
或Fragment
)处于活跃状态(如STARTED
或RESUMED
)时才会接收数据更新。 - 自动管理:当观察者所在的生命周期组件被销毁时,
LiveData
会自动移除观察者,避免内存泄漏。
2. 使用方法
liveData.observe(viewLifecycleOwner, Observer { data ->// 更新UI
})