回答
为什么你需要真正关闭你的应用程序?假设这只是一个普通的应用程序,并没有运行任何后台服务或持有唤醒锁(你会知道如果你正在做这些事情),该系统做了很好的任务管理工作,并且会在你的应用程序停止后,并且需要时结束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