Android2.3以前的版本,也即SDK/API 10和以前的版本內部的執行緒池限制是5個,也就是說同時只能有5個執行緒運行。

從Android 3.0開始對AsyncTask的API做出了一些調整:

 

1#execute()提交的任務,按先後順序每次只運行一個

 

2 新增了介面#executeOnExecutor()。 這個介面允許開發者提供自訂的執行緒池來運行和調度Thread,如果你想讓所有的任務都能併發同時運行,那就創建一個沒有限制的執行緒池 (Executors.newCachedThreadPool()),並提供給AsyncTask。 這樣這個AsyncTask實例就有了自己的執行緒池而不必使用AsyncTask預設的



4.4.2預設執行緒池大小改為

 

private static final int CPU_COUNT = Runtime.getRuntime().availableProcessors();

 

private static final int CORE_POOL_SIZE = CPU_COUNT + 1;

 

CORE_POOL_SIZE 由具體硬體決定。
arrow
arrow
    全站熱搜

    戮克 發表在 痞客邦 留言(0) 人氣()