我一直以為只要使用了 AsyncTask 的 execute,就相當於開一個 thread 去做事情。後來在網路上看到一篇 文章 才知道原來新版的 Android 有改過。在 API level 11 以上,AsyncTask 預設是循序執行的,因此要能平行執行的話,原本使用 AsyncTask 的方法要重新改寫,如以下所示: AsyncTask task = new YourAsyncTask(); if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { task.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); } else { task.execute(); } 參考資料 1. Android AsyncTask behavior changes you should know 2. Android AsyncTask - executeOnExecutor ---