動画をダウンロード出来るアプリ開発時に、AsyncTaskを使用して並列処理をしようと思ったのですが、HoneyCombo(API 11)以上の端末では2つめ以降のtaskが開始されないという現象が起きました。
問題は、executeメソッドで、HoneyCombo ( API 11 )以上はexecuteOnExecutorを使用するようです。
サンプルはこちら
@TargetApi(Build.VERSION_CODES.HONEYCOMB) // API 11 void startMyTask(AsyncTask asyncTask) { if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params); else asyncTask.execute(params); }
これで無事に並列処理を行う事が出来ました〜stackoverflow.com