/ /非同期タスクdoInBackgroundは実行されませんでした - アンドロイド、アンドロイド-asynctask、再開 - ダウンロード

非同期タスクdoInBackgroundは実行されませんでした - アンドロイド、android-asynctask、resume-download

私は一連のasyncTaskを1つ実行する必要があります他のサーバの後にpdfをダウンロードすることができます。しかし、時には私はアプリケーションを最小限に抑えてから、バックグラウンドでダウンロードして再開すると、すぐに実行されるasyncTaskの直後に実行されるasyncTaskがpreExcuteにスタックされます。 doInBackgroundは実行されていません。お手伝いください。

回答:

回答№1は1

これはAsyncTasksの既知の問題です。 AsyncTasksのデフォルトのexecutorは次のとおりです。 SERIAL_EXECUTOR。このエグゼキュータのキューには5つのAsyncTaskを持つことができます。その後、新しい Threads.

これを行う場合:

public void someMethod() {
new MyAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
}

スレッドをプールする別のエグゼキュータでAsyncTasksを実行します。それは15の限界があります。しかし、最も良いことは、スレッドを平行に実行し、 SERIAL_EXECUTOR それらをキューに入れ、1つずつ実行します。