У меня есть AsyncTask внутри одного из моих классов. Я выполняю AsyncTask как:Android AsyncTask doInBackground не запущен
mAsyncTask.executeOnExecutor (AsyncTask.THREAD_POOL_EXECUTOR);
Когда я отлаживаю приложение, функция onPreExecute() mAsyncTask вызывается правильно, но функция doInBackground не вызывается. Что может вызвать проблему?
PlanRouteAsync Код: -
private class PlanRouteAsync extends AsyncTask<Void, Integer, Void>{
@Override
protected void onPreExecute(){
super.onPreExecute();
mIsRunning = true;
}
@Override
protected Void doInBackground(Void... params){
...
return null;
}
@Override
protected void onProgressUpdate(Integer... values){
super.onProgressUpdate(values);
...
}
@Override
protected void onCancelled(){
super.onCancelled();
...
}
@Override
protected void onCancelled(Void aVoid){
super.onCancelled(aVoid);
....
}
@Override
protected void onPostExecute(Void aVoid){
super.onPostExecute(aVoid);
....
}
}
Это приложение компания, несколько AsyncTask работает в фоновом режиме, но я читал, что функция executeOnExecutor должна выполнять параллельно asycnTask.
Я читал эти сообщения также, но они не помогли:
Android SDK AsyncTask doInBackground not running (subclass)
EDIT:
Мой build.gradle файл:
android {
compileSdkVersion 23
buildToolsVersion '23.0.3'
defaultConfig {
minSdkVersion 18
targetSdkVersion 23
}
}
dependencies {
compile project(':mPChartLib')
compile project(':sVGSupport')
compile 'com.google.android.gms:play-services:9.0.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'io.github.luizgrp.sectionedrecyclerviewadapter:sectionedrecyclerviewadapter:1.0.4'
}
Какова ваша 'targetSdkVersion'? –
Не прямое решение вашей проблемы, но я бы посоветовал остаться в стороне от AsyncTask в целом из-за отсутствия интеграции с жизненным циклом активности и изменения поведения в версиях sdk. Есть несколько других лучших решений, включая мой любимый, RxJava – GreyBeardedGeek
Спасибо, я посмотрю, но я не хочу переписывать полный код: /. Что вы думаете о ThreadPools? – bendaf