私のAndroidアプリケーションでは、AsyncTaskサーバーの並列yからほぼ50個のデータ(50)を取得する必要があります。そこで、 を使用してロジックを実装しexecuteOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);ました。一度にexecuteOnExecutor実行できるのは 5 つだけAsyncTaskで、キューのサイズは 10 です。ここで、最大 10 個の pending を保持できAyncTaskます。さて、私のシナリオでは50AsyncTaskがあり、キューのサイズが10しかないため、50AsyncTaskを並行して実行することはできません。したがって、50AsyncTaskを一緒に実行するアプローチには従えません。
別のロジックを思いついたので、AyncTask一緒に 5 を作成して実行します。そしてAysncTask、すでに実行されたそれぞれのコールバックで新しいものを開始しますAsyncTask。
2 番目のロジックは、私の要件を満たしました。それは完全に機能しています。
注: ここでは独自のAsyncTaskクラスを使用しており、Apache http クライアントを使用して http 要求を作成しています。
さて、新しくandroid-async-httpというライブラリについて聞きました。このライブラリで上記のロジックを再実装したかったのです。
サンプルコード:
AsyncHttpClient client = new AsyncHttpClient();
client.get("http://www.google.com", new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String response) {
System.out.println(response);
}
});
だから私の質問は、
android-async-httpライブラリを使用して http リクエストを並列に実行するにはどうすればよいですか?
AsyncTaskこのライブラリを使用して並列実行できる最大数はいくつですか?