Androidアプリを終了させる方法。
- finish()
- moveTaskToBack (boolean nonRoot)
- Process.killProcess(int pid)
Androidアプリは、画面上から消えてもすぐにアプリケーションが終了するわけではない。
finish() → onPause() → onDestroy()
の順番で処理が行われる。
finish()はOSに対して「終了してもいいですよ」と通知するようなもの。
onPause()は画面上から非表示にし、再度開かれるまで(表示されるまで)バックグラウンドで起動している。
onDestroy()はメモリ不足になったときにOSから呼び出されて自動的に終了される。
moveTaskToBack()はホームボタンやバックボタンを押したときの動作と思えばいい。
アプリケーションを終了させたい場合は、finish()もしくはmoveTaskToBack()を使う。
Process.killProcess()は強制的にプロセスを終了させるため、できる限り使わないほうがいい。