アプリがクラッシュした場合に備えて、アプリケーション全体を強制終了する (プロセスをシャットダウンするなど) 方法を探しています。これを行う理由は、ランタイム データの多くが静的クラスに格納されているため、アプリがクラッシュすると、このクラスが強制終了されるためです。
Android の哲学に関する関連する質問 (たとえば、アプリを強制終了しないことなど) を見てきましたが、今のところ、アプリケーションを強制終了する必要があります。これどうやってするの?
私のアプリには複数のアクティビティがあり、次のことを試しました。以前のアクティビティを復元するだけです。
System.exit(0)
ActivityManager servMng
servMng = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
servMng.killBackgroundProcesses(<my package name>);
android.os.Process.sendSignal(android.os.Process.myPid(),
android.os.Process.SIGNAL_KILL);
android.os.Process.killProcess(android.os.Process.myPid());