在使用改装时,是否需要检查活动是否仍然存在?

时间:2017-10-14 01:36:56

标签: android retrofit

我记得几天后我需要调用isFinishing()来检查活动是否仍然存在,以避免更新不再存在的视图,或者它会抛出NullPointerException,但我看不到这在任何改造的教程中都会提到。我也跑了一个测试,没看到任何崩溃。这已经由改造处理了吗?如果是,改造只会照顾活动或片段吗?

1 个答案:

答案 0 :(得分:1)

你应该处理它。如果您直接在活动中使用改造,则不会获得NullPointerException。但即使在活动结束后,网络仍将被使用,仍将调用回调,活动占用的资源仍将在内存中,直到回调结束。

如果您在片段内部使用改造,则更有可能在回调中获得NullPointerException。

最好的方法是获取Call个对象的引用,并在call.cancel()方法中使用onDestroy()