Android AsyncTask 没有结束

Android AsyncTask does not end

我的AsyncTasks 用于调用网络服务。五,确切地说。每个 AsyncTask 在最后一个完成时开始。

我手上的AsyncTasks都正常,但有时AsyncTask没有结束。它永远持续下去。好像跟设备idle/locked有关,但我不能准确确认。

LogCat 没有显示错误。

我认为这可能与AsyncTask 语句或HttpCLient 语句有关。所以我将两者都留在这里:

//http client onCreate()

HttpParams httpParameters = new BasicHttpParams();
int timeoutConnection = 3000;
HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
defaultClient = new DefaultHttpClient(httpParameters);

//AsyncTask declaration:

private class Async extends AsyncTask<String, Void, String> { 
      @Override
      protected String doInBackground(String... params) {

              //handles the webservice (with DOM)


            return null;
      }      

      @Override
      protected void onPostExecute(String result) {  

            pd.dismiss();

             //starts next Activity

      }

      @Override
      protected void onPreExecute() {
          pd = ProgressDialog.show(MenuPrincipal.this,  "", "Refreshing", true);
      }

      @Override
      protected void onProgressUpdate(Void... values) {
      }
}

你试过HttpConnectionParams.setSoTimeout(params, timeout)吗? ConnectionTimout 是连接到您的 WebService 的超时,而 SoTimeout 是等待 answare。