了解某项活动是否已完成的正确方法

时间:2018-06-16 18:32:09

标签: android

我已经阅读了

" How to know activity has been finished? "和" Proper way to know whether an Activity has been destroyed"

但他们都没有得到真正的答案

我有一个后台任务,用它的进度更新屏幕

用户有一个按钮可以随时取消后台任务,如果他这样做,后台任务将被停止并且活动将完成......

但由于所有这些都发生在异步环境中,可能会发生以下情况:

1-后台任务堆叠一些通知以更新进度活动
2-用户取消后台任务
3-后台任务停止(我的意思是,停止进展)并且活动结束(activity.finish()
4-以前堆叠的更新将传递给活动,该活动尝试对其字段执行某些更新并导致错误

我想要一个" oficial android方法"比在onDestroy()

期间设置为true的布尔值更好

1 个答案:

答案 0 :(得分:0)

由于您通过调用finish()来完成活动,因此我认为在更新UI之前检查isFinishing()会在您的用例中起作用。

对于更高级的用例,我建议您查看 RxJava ,以便执行与活动生命周期紧密结合的异步后台任务。