应用程序上的退出按钮应用还在运行?

时间:2011-09-12 13:44:33

标签: android

我对退出按钮有疑问。我在这里读了几篇关于使用退出按钮/后退按钮的帖子。此外,博客:http://blog.radioactiveyak.com/2010/05/when-to-include-exit-button-in-android.html,清除不鼓励使用退出按钮。

这是我的问题。我有一个非常小的应用程序;但它会从webservice / MySql数据库中在线提取数据。它应该只在首次打开时提取数据。或者,如果用户从菜单中选择更新数据。我在应用程序中没有退出按钮,但我认为如果用户完全退出应用程序,这将与退出相同。

退出应用后,我仍然可以在设置>应用程序>正在运行服务中看到该应用。它说“1个过程和1个服务”。在“管理应用程序”中,它表示应用程序已运行36小时。 这个可以吗?我不希望用户认为我的应用正在使用他们的电池。 另外,在退出后,我没有看到额外的更新(从webservice拉出)。但是,如果我在运行Android 3.1的galaxy Tablet 10.1上安装该应用程序,我确实会看到来自Web服务的偶尔更新。

有人对我有一些建议吗?

5 个答案:

答案 0 :(得分:4)

当用户按下“返回”时,Android不会停止应用程序。应用程序将保留在内存中,直到Android需要内存用于其他应用程序。当用户按下“后退”时正在运行的任何线程将继续运行。传统上,您应该在onPause()的{​​{1}}方法上停止所有这些过程(另外,存储所有首选项和其他清理。)

此外,如果您已经开始Activity(如上所述),那么它将继续运行,直到您告诉它停止为止。在极少数情况下,Android会杀死Service以释放资源,但大多数情况下你必须杀掉它。

答案 1 :(得分:0)

正如您所说,它显示1 service running。因此,您需要停止此服务并release the resource如果您在服务中使用了任何内容,则Android将不会为您执行此操作。

答案 2 :(得分:0)

首先创建一个按钮并将此代码放在Click事件

System.runFinalizersOnExit(true);
System.exit(0);

答案 3 :(得分:0)

如果您只是在启动时使用webservice下载信息,然后手动,那么为什么不在服务下载数据后停止服务,然后在用户请求手动刷新时再次启动服务?

Android很少会杀死Android中的某项服务,但会(无论何时需要)阻止您的应用程序在内存中运行。但是,Android处理活动的方式,您的应用可能会从最后一个活动窗口再次启动。

答案 4 :(得分:0)

  

退出应用后,我仍然可以在设置>应用程序>正在运行服务中看到该应用。它说“1个过程和1个服务”。

这意味着您启动了服务并且从未停止过它。对于与您描述的操作类似的操作,也许您应该使用IntentService,它会在工作完成时自动关闭。

  

这可以吗?

这当然不太理想。一些用户对使用与您的行为相似的应用程序感到非常恼火,使用任务杀手或“设置”中的“管理服务”屏幕强制停止您的应用。