私のクラスの中にAsyncTaskがあります。私は次のようにAsyncTaskを実行しています:Android AsyncTaskのdoInBackgroundが起動していません
mAsyncTask.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR)。
私のアプリケーションをデバッグするとき、mAsyncTaskのonPreExecute()関数は正しく呼び出されますが、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);
....
}
}
これは、会社のアプリです、executeOnExecutor機能がasycnTask並列に実行する必要があることを、いくつかのAsyncTaskはバックグラウンドで実行されているが、私は読んだことがあります。
は、私はまた、これらの記事を読んでいるが、彼らは助けにはならなかった。
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'は何ですか? –
問題への直接的な解決策ではありませんが、アクティビティライフサイクルとの統合の欠如とsdkバージョン間でのさまざまな動作のために、AsyncTaskからの離脱をお勧めします。 お気に入りのRxJavaを含む他のいくつかのより良い解決策があります – GreyBeardedGeek
ありがとう、私は見ていきますが、完全なコードを書き直したくありません:/。 ThreadPoolsについてどう思いますか? – bendaf