まれに、AsyncTasksの1つでこの不思議なRuntimeExceptionが発生します。アプリにAsyncTasksを実装する場所は複数ありますが、これらのエラーをどれだけ掘り下げても、このRuntimeExceptionがスローされる理由や発生しているスレッドに関する情報を取得できないようです。 completeAbruptly = true "非同期タスクにはキャッチされない例外があると思いますが、どこから始めればよいのかさえわかりません...アイデア?ありがとう!

まれに、AsyncTasksの1つでこの不思議なRuntimeExceptionが発生します。アプリにAsyncTasksを実装する場所は複数ありますが、これらのエラーをどれだけ掘り下げても、このRuntimeExceptionがスローされる理由や発生しているスレッドに関する情報を取得できないようです。 completeAbruptly = true "非同期タスクにはキャッチされない例外があると思いますが、どこから始めればよいのかさえわかりません...アイデア?ありがとう!

completedAbruptly=true実行されたタスクが例外をスローしたときに発生します。そして、のタスクはメソッドAsyncTaskを実行するdoInBackgroundことです。
doInBackgroundコードをtry/catchブロックにラップし、発生した例外を出力させることをお勧めします。
protected Void doInBackground(Void... params) {
try {
// ----------
// do stuff
return null;
// ----------
} catch (Throwable t) {
Log.e("AsyncTask", "OMGCrash", t);
// maybe throw it again
throw new RuntimeException(t);
}
}
これは、このすべてが発生する理由を示しているはずです。
ソースコードによると、completedAbruptlyはユーザーの操作によりスレッドが終了したことを示しています。非同期タスクが完了する前にアクティビティが終了すると、例外が発生すると思います。この可能性を捨てるのは簡単なはずです。AsyncTasksの1つを無限ループに置き換えて、エミュレーターで「戻る」を押すだけです。