これは、私の理解に従って起こっていないと予想されるものでした。Android Appが終了した後にクラッシュする
私のアプリケーションでは、(2)2-3秒かかるかもしれないAsyncTaskを実行します。そのAsyncTaskでは、UIコントロールの値をほとんど更新しないrunOnUiThread()があります。
アクティビティのfinish()を行う[サインアウト]ボタンをクリックするまで、これは正常に機能します。
findViewByIdがnullを返すNULLポインタ例外が発生しました。更新前にヌルチェックを追加することはできますが、使用されるUI画面とAsyncTaskの量を考慮すると、私は膨大な数のチェックに終わるでしょう。
なぜfinish()が呼び出された後でもUIスレッドがまだ実行されていますか?
このケースに最適な解決策は何ですか? 問題は、AsyncTaskの完了とfinish()の呼び出しとの間に時間差が正確に一致している場合にのみ発生します。
よろしく、
ハルシャ
https://stackoverflow.com/questions/31085406/what-happens-to-running-asynctasks-when-the-activity-changes –
https://stackoverflow.com/questions/2531336/asynctask-wont-stop -venven-when-the-activity-has-destroyed –
ダニエル、そのチケットの情報は、試してみるのに十分な価値があるようです。私は別の視点で検索していました。 – harshal