【发布时间】:2019-02-04 20:31:04
【问题描述】:
我是 Android 编程的新手,我想知道是否可以使用单个 AsyncTask(70 个不同的 URL)连接到多个 URL。目前,我只能通过使用 HttpURLConnection 连接到一个 URL。
class MyAsyncTaskClass extends AsyncTask<String, String, String>
{
private String rez;
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... f_url) {
try {
////////....
URL url = new URL(("url"));
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setRequestMethod("GET");
urlConnection.setDoOutput(true);
urlConnection.connect();
/////////////////
} catch (Exception e) {
rez = "false";
}
return rez;
}
@Override
protected void onPostExecute(String rez)
{
}
}
【问题讨论】:
-
你可以通过使用线程池执行器来做到这一点。编写线程池执行程序并将 asynctask 实例传递给它。它将并行执行它们。
-
线程池执行器似乎有一个限制,因为我只能同时运行 6 个异步任务实例,但我需要运行 70 个实例。还有其他您可能知道的解决方案吗?
-
尝试增加池中的线程数
标签: android android-studio android-asynctask httpurlconnection