如果一个活动被杀死,AsyncTask是否继续存在?

我想我知道这个答案,但是一旦AsyncTask的调用Activity finish()它会继续生存下去吗?

  protected void onPreExecute() { Toast.makeText(getApplicationContext(), "Your data is processing.", Toast.LENGTH_LONG); finish(); } 

编辑:到目前为止两个不同的答案:)

Solutions Collecting From Web of "如果一个活动被杀死,AsyncTask是否继续存在?"

AsyncTask绑定到UI线程,如果Activity完成,asynchronous任务被取消。

[更新] – 下面的Hackbod的评论是正确的。 应该指出的是,AsyncTasks是短命的,因此不用担心这个问题。 一个AsycTask只有在完成时才真正消失,或者这个过程被杀死,在完成调用之后可能会发生,也可能不会发生。

它一直运行,直到onPostExecute完成。

我经历了一些asynchronous任务,如果一个活动被操作系统杀死了,当应用程序恢复时,AsyncTasks有时候根本不会运行。 我不确定他们为什么进入这个状态。 如果您在自己的执行程序线程中执行AsyncTasks,则不会发生这种情况。 我可能会遇到一些奇怪的情况。 认为这可能是有用的发布在这里:)。

asynchronous任务保持运行直到他onPostExecute()完成。

尝试通过在finish()和onPostExecute()上添加敬酒来查看哪个面包首先显示。

Asynctask不受任何活动或服务的生命周期方法限制。

它继续运行在一个单独的线程,直到onPostExecute()在主线程中执行。

asynchronous任务不会影响Activity生命周期或任何configuration更改。 他们继续运行,直到onPostExecute()方法被调用。

应该使用服务进行长时间运行操作。