如果活动被杀死,AsyncTask会继续运行吗?

Bri*_*n D 22 android android-asynctask

我想我知道这个问题的答案,但是一旦它的调用Activity被finish()编辑过,AsyncTask会继续存在吗?

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

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

And*_*ite 14

AsyncTask绑定到UI线程,如果Activity完成,则异步任务被取消.

[更新] - Hackbod的评论如下是正确的.应该注意的是,AsyncTasks意味着短暂存在,因此不必担心这个问题.AsycTask只有在完成时才会真正消失,或者在完成调用后可能会或可能不会发生该过程被杀死.

  • 这句话不太好.AsyncTask完全独立于Activity; 你必须一起管理它们.正在*完成*的活动不会对任何AsyncTasks执行任何操作,除非您从onDestroy()清除它们.另一方面,如果一个活动的进程在后台被杀死,那么AsyncTask肯定也会被杀死,因为整个进程的一部分正在消失. (42认同)