0

the documentation for AsyncTask,它採用parallell線程對某些舊的API的一個池:阻止API10上的多個並行AsyncTask?

當第一次推出,AsyncTasks進行系列在單個後臺線程執行。從DONUT開始,將其更改爲允許多個任務並行操作的線程池。從HONEYCOMB開始,任務在單個線程上執行,以避免並行執行導致的常見應用程序錯誤。

如果您真的想要並行執行,可以使用THREAD_POOL_EXECUTOR調用executeOnExecutor(java.util.concurrent.Executor,Object [])。

如果我真的想要在Honeycomb之前進行非平行執行,該怎麼辦?

在較新的API上,它們最終一個接一個地運行。有沒有什麼方法可以在Honeycomb之前獲得相同的行爲?

回答

0

總之,不,不與API本身。它隻影響甜甜圈,小甜餅,Froyo和薑餅。您可以使用自己的線程池執行程序與單個線程進行序列化,而不是使用AsyncTask。但是,在Honyecomb之前的版本中,API本身是不同的。

+0

謝謝。我最終只是製作了AsyncTask的'synchronized'調用的代碼,它似乎工作。 – BadCash