KillProcess:
在android中我們如果想要程序的進程結束可以這樣寫:
android.os.Process.killProcess(android.os.Process.myPid());
這樣就可以從操作系統中結束掉當前程序的進程。
注意:android中所有的activity都在主進程中,在Androidmanifest.xml中可以設置成啟動不同進程,Service不是一個單獨的進程也不是一個線程。
當你Kill掉當前程序的進程時也就是說整個程序的所有線程都會結束,Service也會停止,整個程序完全退出。
System.exit:
當我們在寫java程序時肯定用到過System.exit(0),它的意思是退出JVM(java虛擬機),在android中一樣可以用,我們可以想像一下虛擬機都退出了當然執行System.exit的程序會完全退出,內存被釋放。
注意:在android手機中查看當前正在運行的進程時可以發現還可以查看"后台緩存的進程",你會發現很多退出了的程序還在后台緩存的進程中,如果不要讓程序在后台緩存那么就可以用System.exit(0);來退出程序了,可以清除后台緩存的本進程。
System.exit(0),System.exit(1)的區別:
參數0和1代表退出的狀態,0表示正常退出,1表示異常退出(只要是非0的都為異常退出),即使不傳0來執行也可以退出,該參數只是通知操作系統該程序是否是正常退出。