У меня проблема с AsyncTask
. Иногда метод doInBackground()
не вызывается после onPreExecute()
.
Я знаю, что этот вопрос задавали несколько раз, но данные ответы не работают для меня.
Вот часть моего кода:
AsyncTask<Void, Void, Void> asyncTask = new AsyncTask<Void, Void, Void>(){
@Override
protected void onPreExecute() {
super.onPreExecute();
Log.e("AsyncTask", "onPreExecute");
}
@Override
protected Void doInBackground(Void... params) {
Log.e("AsyncTask", "doInBackground");
return null;
}
protected void onPostExecute(Void result) {
Log.e("AsyncTask", "onPostExecute");
};
};
if(Build.VERSION.SDK_INT >= 11)
asyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
else
asyncTask.execute();
Как вы можете видеть, я проверяю, есть ли версия Android >= HoneyComb и выполните задачу в Pool Executor, если она истинна.
Даже при этом "трюке" иногда doInBackground()
не вызывается.
Есть ли у кого-то одна проблема или она знает, как проблема?
Спасибо