2012-03-02 64 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