Android AsyncTask does not end



My AsyncTasks用于调用web服务。准确地说是五个。每个AsyncTask在最后一个完成时启动。

我拥有的AsyncTask都能正常工作,但有时AsyncTask不会结束。它会一直持续下去。这似乎与设备处于空闲/锁定状态有关,但我无法准确确认。

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是等待应答软件的超时。

相关内容

最新更新