一部のアクティビティの onCreate メソッドで NullPointerException が発生します。長時間のアイドル状態の後にのみ発生するため、デバッグが困難です。
おそらく、アクティビティが終了し、ガベージ コレクターがいくつかの共有オブジェクトを破棄したためだと思われますが、よくわかりません。
それを適切に処理するにはどうすればよいですか?
ありがとう
一部のアクティビティの onCreate メソッドで NullPointerException が発生します。長時間のアイドル状態の後にのみ発生するため、デバッグが困難です。
おそらく、アクティビティが終了し、ガベージ コレクターがいくつかの共有オブジェクトを破棄したためだと思われますが、よくわかりません。
それを適切に処理するにはどうすればよいですか?
ありがとう
アクティビティは、アイドル状態の期間が経過しても「終了」せず、ガベージ コレクターによって再利用されません。何が起こるかというと、オペレーティング システムがプロセス全体を強制終了するということです。次に、ユーザーがアクティビティに戻ると、オペレーティング システムはプロセスを再作成し、アクティビティ スタックの最上位のアクティビティのみを再作成します。したがって、他のアクティビティによって設定された可能性のある静的 (クラス) 変数がある場合、それらはすべて失われています。
コードを投稿してonCreate()
、NullPointerException が発生した場所を示します (logcat を見てください)。