应用程序跳转到另一个活动后,AsyncTask任务是否继续?

时间:2016-01-29 21:17:35

标签: java android multithreading

如果我的应用程序正在通过AsyncTask运行一个线程,并且同时我跳转到另一个活动(场景),该线程是否仍然在后台运行。我想如果我按回来,线程已经完成或原始场景必须重复线程活动?

3 个答案:

答案 0 :(得分:1)

是。 AsyncTask只是Java Executor的一个聪明的包装器

答案 1 :(得分:0)

AsyncTask 是一个抽象的Android类,可以帮助Android应用程序以有效的方式处理主UI线程。 AsyncTask类允许我们执行持久的任务/后台操作,并在UI线程上显示结果,而不会影响主线程。

1。 AsyncTask进程不会被操作系统自动杀死。 AsyncTask进程在后台运行,负责在任何情况下完成自己的工作。您可以通过调用cancel(true)方法取消AsycnTask。这将导致后续调用isCancelled()返回true。在调用此方法之后,在doInBackground()返回后调用onCancelled(Object)方法而不是onPostExecute()。

2。完成该操作后,后台线程将停止。 AsyncTask有一个 onPostExecute(),一旦你的工作完成就会被调用。在 doInBackground()方法完成处理后调用此方法。来自 doInBackground()的结果将传递给此方法。

来自Here

的回答

答案 2 :(得分:-1)

Async任务的生命周期未绑定到Activity。因此,一旦启动了AsyncTask,即使暂停/停止活动,asyncTask也会继续。