finish an Android process

摘要:finish Android process

當用backspace鍵離開Android應用程式後,以java gc的做法,被關閉的應用程式其程序仍會保留在背景,直到系統記憶體不足才去釋放。

如果使用this.finish()只會結束目前的Activity。
所以要在離開應用程式後把程序移除可以使用下列方式:
 
1. System.exit(0)
 
2. Process.killProcess(Process.myPid())
 
以實際手機(hero)去觀察,當使用上述兩種方式去關閉程序,DDMS中該程序的確是已經被移除了!
 
如果一個application有多個process在執行,則killProcess比較適合用來刪除。
 
另外一提,程序被移除後,長按home鍵仍然會出現該應用程式的icon,所以猜想長按home鍵出現在icon應該是最近使用到的應用程式,而不一定是尚未移除的程序(有可能已移除)。
但這只是個人猜測,實際結果還是要去看source code,說不定這只是htc的bug。 :p