回答
爲什麼你需要真正關閉你的應用程序?假設這只是一個普通的應用程序,並沒有運行任何後臺服務或持有喚醒鎖(你會知道如果你正在做這些事情),該系統做了很好的任務管理工作,並且會在你的應用程序停止後,並且需要時結束RAM沒有任何人工干預。通常如果你只是finish()
你的基地Activity
這將發生在它自己的,但幾乎沒有理由這樣做。
(唯一的例外是,如果您的Application
以某種方式持有對已完成活動的引用,這會引起醜陋的內存泄漏並阻止您的應用正常關閉,但是您也可能知道自己是否用重寫的Application
子類做任何事情。)
即:如果要強制關閉應用程序,99%的時間需要修復代碼中的任何錯誤使您認爲系統無法自行處理它,或者您需要再次重讀documentation on the Android application lifecycle(因爲在開始編寫Android應用程序之前,您應該已經閱讀了3次))。
也許這個鏈接將幫助developer page
我引用下面的部分,我認爲可能會幫助你。
關閉部件
內容提供商,而它的響應來自ContentResolver的一個請求 僅 活性。而一個 廣播接收器僅在 有效時纔會響應廣播 消息。所以不需要 明確地關閉這些組件。
另一方面,活動提供了 用戶界面。他們正在與 用戶進行長時間運行的對話 ,並且可能保持活動狀態,即使 處於空閒狀態,只要對話 繼續。同樣,服務可能也會長時間運行。 所以Android有方法來關閉 活動和服務有序 方式:
活動可以通過調用finish()方法關閉。一個 活動可以通過調用 finishActivity()來關閉另一個 活動(它以 startActivityForResult()開頭)。
可以通過調用stopSelf()方法或通過調用Context.stopService()調用 來停止服務。
組件也可能被 系統或關機時,他們不再 使用時必須Android的回收 內存更積極 組件。稍後的部分,組件 生命週期,更詳細地討論了這種可能性 及其後果。
必須記住:
finish();
方法只關閉當前活動。 如果您打開了多個活動,則應該爲每個活動調用finish()。
注意:關閉服務是不同的。
Android不喜歡你關閉你的應用程序。 這裏有一個討論: Is quitting an application frowned upon?
如果你真的想這樣做,無論出於何種原因,你需要關閉所有的活動。 這裏是你如何能做到這一點的討論: Closing several android activities simultaneously
您可以關閉從後臺的所有活動,並當重新打開應用程序從第一次活動開始
this.finish();
Intent intent = new Intent(getApplicationContext(), CloseApp.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
您可以從後臺關閉所有活動並重新打開應用程序時它從暫停活動開始[你關閉]活動
this.finish();
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
- 1. 如何以編程方式關閉反應js應用程序
- 2. 如何以編程方式關閉iPad應用程序?
- 3. 如何以編程方式關閉Windows 8應用程序?
- 4. 如何以編程方式關閉黑莓應用程序?
- 5. 在android中以編程方式關閉所選應用程序
- 6. 在webtest之前以編程方式關閉應用程序
- 7. 以編程方式關閉AIR應用程序
- 8. 以編程方式關閉應用程序Flutter
- 9. 可以通過編程方式關閉iphone應用程序
- 10. 以編程方式關閉Mac應用程序
- 11. 強制以編程方式關閉應用程序
- 12. 以編程方式暫停/關閉應用程序
- 13. 以編程方式關閉WP7應用程序?
- 14. 以編程方式關閉win8應用程序
- 15. Regd:通過Android應用程序以編程方式關閉應用程序
- 16. 如何關閉McAfee以編程方式
- 17. 如何以編程方式關閉UISearchBar?
- 18. 如何以編程方式關閉SearchView?
- 19. 如何以編程方式關閉UISearchDisplayController?
- 20. 如何以編程方式關閉BalloonTip?
- 21. 如何以編程方式使用WinJS在Win8應用程序中關閉MessageDialog?
- 22. 如何以編程方式在Tomcat上自行關閉Spring應用程序
- 23. 如何在WP應用程序中以編程方式關閉MessageDialog?
- 24. 如何以編程方式退出或關閉UWP C++應用程序?
- 25. 如何以編程方式退出或關閉UWP應用程序? (Windows 10)
- 26. 如何從第三方應用程序以編程方式關閉原生Blackberry應用程序?
- 27. 如何通過我的應用程序以編程方式關閉所有最近的應用程序android
- 28. 以編程方式關閉任何正在運行的應用程序通過其他應用程序
- 29. 以編程方式關閉MenuStrip
- 30. 以編程方式關閉UIDocumentInteractionController OpenInMenu?
有時例外是一種方式去。 :)他們肯定會** **你的應用程序。 – 2010-11-04 17:46:34