RxAndroid:什么时候使用bindActivity?为什么?

前端之家收集整理的这篇文章主要介绍了RxAndroid:什么时候使用bindActivity?为什么?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

是否真的有必要在下面的活动中使用AndroidObservable.bindActivity(…)?因为你仍然需要在onDestroy中手动取消订阅.

根据this blog帖子,bindActivity是必要的,所以:

you don’t accidentally try to change state after it is valid to do so

哪个 – 我读它的方式 – 意味着当你在调用finish()之后用活动做某些事情时会出现问题,因此在onDestroy中取消订阅会为时已晚.

任何人都可以给我一个例子,说明何时在onDestroy中取消订阅实际上是一个问题?

如果你看一下the source for AndroidObservable.java,用于bindActivity的谓词函数是:

private static final Func1

检查配置更改不是更好,例如:

private static final Func1

???

SomeActivity.java

public class SomeActivity extends Activity implements Observer
最佳答案
调用onSaveInstanceState之后,您无法执行片段事务,因此如果您的订阅打开DialogFragment,那么在onDestroy之前执行该操作,但在onSaveInstanceState之后会使应用程序崩溃.如果活动正在关闭且网络请求完成且想要显示错误,则可能会发生这种情况.任何需要保存状态的东西都不能在onSaveInstanceState之后调用.
原文链接:https://www.f2er.com/android/431154.html

猜你在找的Android相关文章