在 RecyclerView.Adapter 中清除 CompositeDisposable 的位置
Where to clear CompositeDisposable in RecyclerView.Adapter
假设我们的 RecyclerView.Adapter
中有一些 Disposable
,我们将它们添加到 CompositeDisposable
。
哪个 Adapter
方法回调是 clear()
CompositeDisposable
的最佳选择?
目前我在 onDetachedFromRecyclerView
上做了。我想确定这有多正确。
如果能提供适配器的代码就更容易回答了。
一般来说,Disposable 应该根据你的业务逻辑和包含生命周期的组件来处理。
我还要说最好不要在 RecyclerView 适配器内部使用 Rx。好处如下:
- 适配器逻辑保持简单和同步。
- 您在开发适配器时无需考虑可能的生命周期或多线程问题。
- Rx 流总是分配大量内存,因此(如果我们谈论 RecyclerView)将它们放在错误的位置会导致性能问题。
所以,我建议将 Rx 流移动到 Presenter/ViewModel 或类似组件中。
假设我们的 RecyclerView.Adapter
中有一些 Disposable
,我们将它们添加到 CompositeDisposable
。
哪个 Adapter
方法回调是 clear()
CompositeDisposable
的最佳选择?
目前我在 onDetachedFromRecyclerView
上做了。我想确定这有多正确。
如果能提供适配器的代码就更容易回答了。 一般来说,Disposable 应该根据你的业务逻辑和包含生命周期的组件来处理。
我还要说最好不要在 RecyclerView 适配器内部使用 Rx。好处如下:
- 适配器逻辑保持简单和同步。
- 您在开发适配器时无需考虑可能的生命周期或多线程问题。
- Rx 流总是分配大量内存,因此(如果我们谈论 RecyclerView)将它们放在错误的位置会导致性能问题。
所以,我建议将 Rx 流移动到 Presenter/ViewModel 或类似组件中。