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

相关文章
相关标签/搜索