1

一部のアクティビティの onCreate メソッドで NullPointerException が発生します。長時間のアイドル状態の後にのみ発生するため、デバッグが困難です。

おそらく、アクティビティが終了し、ガベージ コレクターがいくつかの共有オブジェクトを破棄したためだと思われますが、よくわかりません。

それを適切に処理するにはどうすればよいですか?

ありがとう

4

1 に答える 1

3

アクティビティは、アイドル状態の期間が経過しても「終了」せず、ガベージ コレクターによって再利用されません。何が起こるかというと、オペレーティング システムがプロセス全体を強制終了するということです。次に、ユーザーがアクティビティに戻ると、オペレーティング システムはプロセスを再作成し、アクティビティ スタックの最上位のアクティビティのみを再作成します。したがって、他のアクティビティによって設定された可能性のある静的 (クラス) 変数がある場合、それらはすべて失われています。

コードを投稿してonCreate()、NullPointerException が発生した場所を示します (logcat を見てください)。

于 2012-07-06T14:58:39.977 に答える