Androidは自分のアプリを完全に終了し、関連するプロセスをすべて殺すことを実現しました。


アプリ関連のプロセスのコードを徹底的に殺します。

public void killAppProcess()
{
 //  :        ,            ,               
 ActivityManager mActivityManager = (ActivityManager)CurrentActivity.this.getSystemService(Context.ACTIVITY_SERVICE);
 List<ActivityManager.RunningAppProcessInfo> mList = mActivityManager.getRunningAppProcesses();
 for (ActivityManager.RunningAppProcessInfo runningAppProcessInfo : mList) 
 {
  if (runningAppProcessInfo.pid != android.os.Process.myPid()) 
  {
   android.os.Process.killProcess(runningAppProcessInfo.pid);
  }
 }
 android.os.Process.killProcess(android.os.Process.myPid());
 System.exit(0);
}
注意が必要なピット
1.KillProcess()
android.os.Process.killProcess(android.os.Process.myPid)
現在のアプリケーション活動のプロセスを殺すことができます。この操作は、スレッドを含めて全てのプロセス内のリソースを消去します。もちろん、ActivityManagerは常にプロセスを傍聴していますので、プロセスが異常なKillであることを発見したら、このプロセスを再起動しようとします。
これはなぜですか?時にはこのようにアプリケーションを終了しようとすると、アプリが自動的に再起動される原因を発見します。
2.System.exit()
System.exit()はJavaでプロセスを終了する方法で、現在のJVM仮想マシンをシャットダウンします。
//正常終了と表示されます。
System.exit(0)
//は正常でない退出であることを表して、通常このような退出の方式はcatchブロックの中に置くべきです。
System.exit(1)
3.App crashを再起動する
Androidの2行のコードを使って本当にあなたのAppを殺します。
上のリンクの文章はよく全面的に書いてあります。参考すればいいです。
以上のAndroidは完全に自分のAPPを脱退して、関連のプロセスをすべて殺してしまうことを実現しました。皆さんにすべての内容を共有しています。