gpt4 book ai didi

android - 异步任务运行时 Activity 重启

转载 作者:太空狗 更新时间:2023-10-29 13:31:53 25 4
gpt4 key购买 nike

我对异步任务感到困惑。当我的 Activity 重新开始时我必须做什么?在我的 Activity 中, onCreate() 启动了一个异步任务。我知道 Activity 会在 android 需要时重新启动(即方向改变或其他)。我对此没有问题...而且我认为重新启动一个新的异步任务是可以接受的。

不过,我不知道我之前的异步任务发生了什么。我有摧毁它吗?

我的第二个问题:如果我在上一个任务中有一个 progressDialog 怎么办。我是否必须关闭此对话框(以及如何关闭)?

最佳答案

不,您的 Asynctask 将随着您的 Activity 以及 progressDialog 结束。当您的 Activity 调用 onRestart() 时,它必须首先经过 onPauseonStop,这将破坏您的 Activity 但不会破坏您的应用程序。

更多 Activity 信息-http://developer.android.com/reference/android/app/Activity.html

此外,取消 Asynctask 并将 progressDialog 设置为 null 会更安全。

来自 Asynctask 文档

可以随时通过调用 cancel(boolean) 来取消任务。调用此方法将导致对 isCancelled() 的后续调用返回 true。调用此方法后,将在 doInBackground(Object[]) 返回后调用 onCancelled(Object),而不是 onPostExecute(Object)。为确保尽快取消任务,您应该始终定期从 doInBackground(Object[]) 检查 isCancelled() 的返回值,如果可能(例如在循环内)。

关于android - 异步任务运行时 Activity 重启,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14850723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com