Мои AsyncTasks используются для вызова веб-сервисов. Пять, чтобы быть точно. Каждая AsyncTask начинается, когда заканчивается последняя.Android AsyncTask не заканчивается
AsyncTasks У меня все работает правильно, но иногда 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) {
}
}
Мы не можем много сделать с этим. У вас где-то есть петля? – codeMagic
Распечатайте журнал перед возвратом, тогда вы можете понять, что doInBackground() существует любой цикл forever или нет. –
попробуйте вызвать веб-службы типа 'asyncTask task = new asyncTask(); \t \t \t \t \t \t task.executeOnExecutor (AsyncTask.SERIAL_EXECUTOR); ' –