這應該有一個簡單的答案,但我找不到任何。 由於我仍然是一個機器人假人,我來這裏問你的人。是否有限制的AsyncTasks同時執行?
我一直在做這個項目,在啓動時執行10個AsyncTasks。 每個任務都包含3個URL,用於收集數據並在應用程序中執行任何重要操作(還)。
我也有10個textviews,我用它來跟蹤AsyncTasks的進度。
當一個任務啓動相應的TextView放在「啓動」 當任務進展它會將其適當的TextView「下載」 當任務完成後它會將其適當的TextView爲「完成」
這就是我觀察到的對AsyncTask的質疑。 當我啓動應用程序時,我注意到5個文字瀏覽被切換到「下載」標記,所以我看到5個AsyncTasks按照他們應該做的工作。完成後,它啓動一個新的AsyncTask。然而他們從未達到5的極限。
是什麼原因導致5個AsynchTasks同時運行的限制? 我在一些我無法找到的文件中導致這個問題? 這是Android 2.3.3的限制嗎?也許我正在用來模擬應用程序的設備的限制?
任何人都可以爲我詳細說明嗎?
這個問題在這裏解決:http://stackoverflow.com/questions/3077461/asynctask-threads-never-die-android – jengelsma 2012-03-07 00:18:36
@jengelsma不是真的。這絕對是相關的,但爲什麼它沒有超過5與爲什麼永遠不會超過5不同。它仍然與核心池大小有關,但這個問題/答案沒有解決爲什麼核心池大小會限制當最大池大小爲128時,併發任務的數量爲5個。 – kabuko 2012-03-07 01:01:40
我認爲您使用的是AsyncTask.execute()而不是AsyncTask.executeOnExecutor() – 2015-10-20 09:33:43