如何在android中关闭/退出应用程序?

时间:2011-08-30 07:13:13

标签: android

我尝试使用finish()关闭应用程序,但finish()方法刚刚完成活动,应用程序不会关闭。 现在我使用System.exit(0)关闭应用程序有时它可以工作,但有时它会引发异常。我怎样才能完全退出应用程序?

2 个答案:

答案 0 :(得分:2)

好的,你可以做一件事得到你的应用程序的进程ID,并在onDestroy()中杀死那个进程。多数民众赞成

int pid=android.os.Process.myPid();
android.os.Process.killProcess(pid);

答案 1 :(得分:1)

Android的内存模型有点奇怪 - 基本上,操作系统会在你想要实际退出时为你决定。只要你的应用程序没有使用带宽或过多的CPU时间(读取:用户的钱或CPU时间),Android系统的设计是这样的,你应该让它保持运行,系统将杀死应用程序本身它需要资源。

您需要做的是停止使用(通过finish()或其他方式)带宽或CPU时间等,重置您需要的任何状态以提供您所需的用户体验,丢弃任何唤醒锁或类似的其他硬件您已做出的修改,并结束您 不希望继续使用stopSelf()运行的任何服务。

如果/当操作系统内存不足时(这是唯一真正重要的一个活动实际上是否已经消失或者当时没有做任何事情)它会毫不客气地强制杀死活动或服务(不进行任何清理)代码或事件处理程序)基于一组相当复杂的优先级,基本上归结为“不要丢弃用户正在使用/将注意到的任何内容。”