3 回答

TA貢獻(xiàn)1777條經(jīng)驗(yàn) 獲得超3個(gè)贊
AsyncTask
管理使用創(chuàng)建的線程池ThreadPoolExecutor
。它將具有5到128個(gè)線程。如果有5個(gè)以上的線程,那么這些多余的線程將最多保留10秒鐘,然后再將其刪除。(注意:這些數(shù)字是針對(duì)當(dāng)前可見(jiàn)的開(kāi)放源代碼,并且因Android版本而異)。
請(qǐng)不要理會(huì)AsyncTask
線程。

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超6個(gè)贊
目前,我正在使用Android 2.2,并且我的應(yīng)用程序隨時(shí)都使用不超過(guò)一個(gè)AsyncTask,但是我每隔X分鐘創(chuàng)建一個(gè)新的AsyncTask。最初,新的AsyncTask線程開(kāi)始出現(xiàn)(新的AsyncTask的新線程),但是在5個(gè)線程(如CommonsWare所述)之后,它們僅在調(diào)試窗口中可見(jiàn),并在需要新的AsyncTask線程時(shí)重新使用。他們只是呆在那里,直到調(diào)試器斷開(kāi)連接。

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊
使用ThreadPoolExecutor。
BlockingQueue workQueue= new LinkedBlockingQueue<Runnable>(100); // Work pool size
ThreadPoolExecutor executor = new ThreadPoolExecutor(
Runtime.getRuntime().availableProcessors(), // Initial pool size
Runtime.getRuntime().availableProcessors(), // Max pool size
1, // KEEP_ALIVE_TIME
TimeUnit.SECONDS, // KEEP_ALIVE_TIME_UNIT
workQueue);
Runnable使用execute()方法發(fā)布任務(wù) 。
void execute (Runnable command)
在將來(lái)的某個(gè)時(shí)間執(zhí)行給定的任務(wù)。該任務(wù)可以在新線程或現(xiàn)有池線程中執(zhí)行
- 3 回答
- 0 關(guān)注
- 367 瀏覽
添加回答
舉報(bào)