AsyncTask如何运行但不起作用?

时间:2012-09-07 16:04:40

标签: android android-asynctask

我有一个嵌套的AsyncTask。这个简单的例子证明它们有效:http://pastebin.com/0R9Cfxx1

但是,在我的生产代码中,我的嵌套AsyncTask返回getStatus == AsyncTask.RUNNING 但是,doInBackground()不会执行。

这怎么可能?

1 个答案:

答案 0 :(得分:1)

我理解AsyncTask的方式,你应该从主应用程序线程运行它,它创建一个单独的线程,其中运行“doInBackground()”。现在,如果在另一个AsyncTask中运行嵌套的AsyncTask,则总共至少有三个线程:主应用程序线程,第一个AsyncTask线程和第二个AsyncTask线程。它们都将并行运行,这打破了“嵌套”的概念。 我相信最好的方法是重构你的代码,只使用一个AsyncTask。