0

我的应用程序会在后台下载数据(如果可用)。我正在为此使用 AsyncTask,但是当我的 web 服务无法访问或 web 服务响应时间过长时,我的应用程序开始工作非常缓慢或根本不工作。我正在使用这段代码在我的 AsyncTask 中联机:

 /* Open connection. */
 URL url = new URL(webserviceLink);
 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
 connection.setRequestMethod("GET");

 /* Create input stream. */
 inputStream = connection.getInputStream();

 while ((bytesRead = inputStream.read(buffer, 0, bufferSize)) > 0) {
       fileOutputStream.write(buffer, 0, bytesRead);
       counter += bytesRead;
 }
4

1 回答 1

1

http://developer.android.com/reference/java/net/URLConnection.html#setConnectTimeout(int ) public void setConnectTimeout (int timeoutMillis)

像这样设置小的连接超时:connection.setConnectTimeout(5*1000);

编辑:您也可能想使用此方法设置读取超时:

public void setReadTimeout (int timeoutMillis)

于 2012-11-14T12:58:59.197 回答