現在のアプリケーション データを格納するために、静的フィールドのみを持つ別のクラスを使用しています。sharedpreferences
アプリケーションの起動時に部分的に読み込まれます。残りは、何らかのアクションの結果のようなデータであり、これらの結果 (結果を使用する複数のアクティビティ) をさらに閲覧するために使用されます。
ホーム画面に移動したり、他のアプリケーションを起動したりできます。自分のアプリケーションに戻ると、正しく動作します。
ただし、新Error Reporting
機能以降、すべてエラーに関連するバグレポートがいくつかありnullreference
ます。null
上記の別のクラスの静的フィールドへの参照であるオブジェクト。
私はバグを再現できないので、これはアプリケーションがメモリ不足のために強制終了されたことが原因であると考える傾向があります。再起動するとoncreate
、ユーザーが現在参加していたアクティビティから呼び出されます。ただし、別のクラスのすべての静的データ復元されないため、クラッシュします。
知りたいのですが、アプリケーションが強制終了された場合に、最後に使用されたアクティビティから開始せずに、アプリケーションを強制的に「再起動」する方法はありますか? それともそれが標準的な振る舞いですか?プログラムでこれを行うことはできますか? 静的フィールドが null の場合のように、アプリを再起動しますか?