我正在使用大量AsyncTasks的應用程序。當我開始參與這個應用程序的編碼時,targetSdkVersion被設置爲10,所以我們對AsyncTasks沒有問題,因爲它們全部在並行後臺線程上執行。由於我們已經將targtSdkVersion設置爲17,所以我們在任務中遇到了一些問題,因爲它們現在在單個後臺線程上執行。爲了解決這個問題,我發現下面的代碼專門使用並行任務:Android AsyncTask作爲方法參數
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
myTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
} else {
myTask.execute();
}
現在,因爲我們有幾個任務需要幾行代碼,我想編寫我們自己的Utils類中的方法,以這種方式執行任務......但我無法實現這一點,因爲我無法將不同的任務作爲參數傳遞給方法,因爲'參數|進展|結果'的東西不同,從一個任務到另一個。 有沒有辦法實現我們的目標?有任何想法嗎?
你方法可以採取的AsyncTask ,?,?>爲PARAM,我覺得 – njzk2
已經嘗試過,但沒有工作......我一直都想與:java.lang.ClassCastException:java.lang.Object []不能轉換爲java.lang.Void [] –