6

私のアプリでは、ユーザーがHOMEキーを押してしばらくしてからアプリに戻ると、アプリはさまざまな場所やアクティビティでNullPointerExceptionsを出します。一部のリソースを解放するために、アプリがOSによって強制終了されていることを知っています。ユーザーが再びアプリに戻ってアプリが以前に強制終了されたときに、アプリが強制終了されたことを検出して、さまざまなリソースをリロードできるようにするにはどうすればよいですか?

4

3 に答える 3

6

onCreate (Bundle savedInstanceState)が呼び出されたときに、 savedInstanceStatenull でないことを確認します。onCreateで述べたように:

アクティビティが以前にシャットダウンされた後に再初期化されている場合、このバンドルには、onSaveInstanceState(Bundle) で提供された最新のデータが含まれます注: それ以外の場合は null です。

通常のライフサイクルの一部ではありませんが、アクティビティが強制終了される前に呼び出されるonSaveInstanceState()も参照してください。

注: ユーザーが A ----> B ----> C --back--> B ----> C を実行すると、C が 2 回目に作成されたときに、渡されたバンドルはnull新しいものであるため、 になります。インスタンス、殺された後に再作成されたものとは異なります。

于 2013-01-17T13:15:17.650 に答える
3

基本的に: このページの写真を見てください: http://developer.android.com/reference/android/app/Activity.html

ここに画像の説明を入力

さまざまな状況で呼び出されるさまざまな関数はonCreate、 、onStartおよびonResumeです。

于 2013-01-17T11:10:23.867 に答える
0

私の提案は次のとおりです。独自のものを実装し、呼び出されたApplication場合onCreate()、アプリはバックグラウンドで強制終了されました

于 2015-03-04T10:04:19.007 に答える