私の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
このライブラリを使用して並列実行できる最大数はいくつですか?