ある顧客から、タスクキラーでアプリを強制終了した後、起動時にアプリが終了するというフィードバックが届きました。AndroidはRAMをWindowsとして管理しないため、タスクキラーは危険であり、電話のパフォーマンスに何の影響も与えないと彼に話しましたが、彼はタスクキラーをアンインストールしません。
フォースクローズは次のようになります。
A)ユーザーは私のアプリを通常どおり使用しています
B)ユーザータスクが私のアプリを強制終了します
C)ユーザーがアプリを再度起動する
D)起動時に強制終了
E)ユーザーがアプリをもう一度起動する
F)すべてが意図したとおりに機能する
問題は、静的オブジェクトがRAMからクリアされたためにヌルになり、アプリを強制的に閉じるNullPointerExceptionsが発生することです。ただし、これらの静的オブジェクトにアクセスしている場所はたくさんあるので(そうでない場合は、静的オブジェクトも使用しません)、NullPointerExceptionsが多くの場所で発生する可能性があります。
この動作は、Android2.3.7以下でのみ発生します。Android 4.0独自のタスクキラー(ホームを長押しすることでアクセスできるタスクキラー)は、アプリを正しく強制終了してから、強制的に閉じることなくアプリを起動します。
この動作を回避するにはどうすればよいですか?