AsyncTask不能同時運行多個實例解決辦法

在項目中使用AsyncTask時,發現建立的多個實例沒法同時運行,好比:html

AsyncTask t1 = new MyTask();
AsyncTask t2 = new MyTask();
t1.execute();
t2.execute();

發現t2沒法當即運行,而是等待t1運行完成後運行;java

解決辦法:ui

if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR1) {
			task.execute();
		} else {
			task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
		}

  用executeOnExecutor代替execute方法,可是executeOnExecutor在API11以後才能使用,因此進行判斷下。htm

具體緣由分析:http://bbs.51cto.com/thread-1114378-1-1.htmlblog

相關文章
相關標籤/搜索