如果在应用程序中使用android-arch生命周期组件,那么是否有必要使用to生命周期?还是is生命周期是多余的?或者,如果我使用了to生命周期和RxJava,那么是否有必要使用android生命周期组件?
发布于 2017-07-26 06:07:56
我相信,如果你不使用安卓架构组件ViewModel,这两个库将是相同的。
使用ViewModel,可以防止设备旋转时的数据准备,这意味着ViewModel在内存中,甚至在响应设备旋转时必须重新启动活动。
我认为RxLifecycle库中不存在这样的组件。
发布于 2017-08-01 08:22:08
不,您不需要使用RxLifecycle,但是如果您使用RxJava,那么使用RxLifecycle可能是有用的。
如果您使用RxJava,您必须关心订阅和取消订阅自己。Androids LiveData (类似于Rx可观测系统)通过使用android-arch生命周期来实现这一点。如果您还希望在RxJava中了解生命周期,可以使用RxLifecycle。正如在他们的Github页面中所描述的那样,RxLifecylce需要一个生命周期提供者。生成生命周期提供者的一个解决方案是使用android-arch-生命周期。
public class MyActivity extends LifecycleActivity {
private final LifecycleProvider<Lifecycle.Event> provider
= AndroidLifecycle.createLifecycleProvider(this);
@Override
public void onResume() {
super.onResume();
myObservable
.compose(provider.bindToLifecycle())
.subscribe();
}编辑:在某些情况下,RxLifecycle可能会出现问题,这就是为什么创建者建议使用AutoDispose或手动处理子subscrption。他描述了这个职位中的问题。
https://stackoverflow.com/questions/45317791
复制相似问题