2012-03-02 47 views
3

我以前在c#dotnet開發中工作,有Application.exit()類型的方法,它立即關閉應用程序並釋放內存。Android完成()方法

我發現,機器人「完成()」方法,這是應該做的

,但不這樣做,它繼續應用程序,而不是釋放內存。 如何退出我的應用程序,所有線程和內存將被釋放?

+2

可能重複[如何以編程方式退出android應用程序](http://stackoverflow.com/questions/6330200/how-to-quit-android-application-programmatically) – 2012-03-02 14:56:17

+2

試圖以這種方式退出應用程序是餿主意。看到這個解釋:http://stackoverflow.com/questions/2033914/quitting-an-application-is-that-frowned-upon – 2012-03-02 14:57:18

+0

謝謝格雷厄姆Borland,多數民衆贊成清除我的概念 – 2012-03-02 15:22:36

回答

2

Android有2種活動,Activity和ListActivity(擴展Activity)。

您可以擴展這兩個用於所有正在使用的應用程序的活動。通過覆蓋onCreate()和finish(),使用新的活動基類來保留一堆活動。

通過這種方式,當你想退出時,將你的活動一個接一個地從堆棧中彈出,然後調用finish。

我知道這很辛苦,但它適用於我。

+0

謝謝,這是唯一有效的工作 – 2012-03-07 18:48:38

1

Android並不意味着以這種方式工作。當系統發現有必要重新獲取該內存時,系統將回收您的進程。但請放心,當您致電完成()時,它會徹底摧毀用戶當前正在查看的活動。

大家都說,如果你仍然想做你不應該做的事情,那麼調用以下命令將會完全停止VM。

System.exit(1) 
+0

它給力停止錯誤:( – 2012-03-02 15:16:41

+1

寫作System.exit(1)以不友好的方式退出虛擬機,我真的不推薦使用它,如果你提出一個問題描述你想要實現什麼,期望發生什麼, – 2012-03-02 15:54:18

1

Android不能這樣工作,您不需要退出您的應用程序。如果系統將來需要更多的內存或資源,並且您的應用程序處於後臺,它將會照顧您的應用程序。如果沒有必要,您的流程將會生存下來,以確保更快地重新啓動您的應用程序。

+0

我總是發現應用程序正在運行 我寫完退出按鈕,但是當我重新啓動它時,得到的是最後的午餐值在字段中,android如何存儲這些? – 2012-03-02 15:17:09