私のアプリでは、ユーザーがHOMEキーを押してしばらくしてからアプリに戻ると、アプリはさまざまな場所やアクティビティでNullPointerExceptionsを出します。一部のリソースを解放するために、アプリがOSによって強制終了されていることを知っています。ユーザーが再びアプリに戻ってアプリが以前に強制終了されたときに、アプリが強制終了されたことを検出して、さまざまなリソースをリロードできるようにするにはどうすればよいですか?
3 に答える
onCreate (Bundle savedInstanceState)
が呼び出されたときに、 savedInstanceState
null でないことを確認します。onCreateで述べたように:
アクティビティが以前にシャットダウンされた後に再初期化されている場合、このバンドルには、onSaveInstanceState(Bundle) で提供された最新のデータが含まれます。注: それ以外の場合は null です。
通常のライフサイクルの一部ではありませんが、アクティビティが強制終了される前に呼び出されるonSaveInstanceState()も参照してください。
注: ユーザーが A ----> B ----> C --back--> B ----> C を実行すると、C が 2 回目に作成されたときに、渡されたバンドルはnull
新しいものであるため、 になります。インスタンス、殺された後に再作成されたものとは異なります。
基本的に: このページの写真を見てください: http://developer.android.com/reference/android/app/Activity.html
さまざまな状況で呼び出されるさまざまな関数はonCreate
、 、onStart
およびonResume
です。
私の提案は次のとおりです。独自のものを実装し、呼び出されたApplication
場合onCreate()
、アプリはバックグラウンドで強制終了されました