場景:
我在我的Android應用四項活動,可以說A,B,C和D有在一個延伸,以維持全球應用程序狀態Application
類應用一個Constants.java
類。 Constants類具有應用程序的所有常量變量。活動流程如圖A-->B-->C-->D
。當從活動A按下後退按鈕時,我調用了完成活動A並關閉應用程序的finish()方法。之後,如果我從所有應用程序中打開應用程序,則在Constants.java
中存在一個變量,其值從上次啓動時開始持續。當我正在做System.exit(10)
後跟Process.killProcess(Process.myPid())
來自活動A(在按下後)時,同樣的事情不會發生。當應用程序的所有活動結束後會發生什麼?
問題:
- 將通過調用每個活動的結束()將關閉應用程序(它的進程)完成所有活動?
- 即使所有活動完成(閉合),變量的值如何仍然存在?
- 對於退出應用程序,撥打
System.exit(10)
後跟Process.killProcess(Process.myPid())
是否公平?
更新:
如何我可以明確的應用程序(HomeActivity的後退出版社)退出應用程序常數?
常量根據定義不會改變,所以爲什麼要打擾他們呢? – m0skit0 2013-05-30 18:26:52
簡單:不要調用'System.exit()'(根據SO討論,完全不推薦)。只需在HomeActivity完成時清除變量。 – 2013-06-04 08:26:32