我已经阅读了
" 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()
答案 0 :(得分:0)
由于您通过调用finish()
来完成活动,因此我认为在更新UI之前检查isFinishing()
会在您的用例中起作用。
对于更高级的用例,我建议您查看 RxJava ,以便执行与活动生命周期紧密结合的异步后台任务。