我不确定是否需要在我的应用程序中添加退出按钮。这样做有什么意义吗?如果在退出一个活动或服务时没有正确地.finish()或关闭,这会造成很多损害吗?
有人说你不需要一个退出按钮,这是正确的,但是加上一个从来没有坏处。用户喜欢看到一种退出应用程序的方式,这不是关于糟糕的编程,而是关于正确的编程,给用户一个退出按钮,如果他们从未使用它,那就太好了,如果它在那里,那就更好了。
你的应用程序不需要一个退出按钮。这是安卓系统的工作原理。用户没有任何方法来真正退出应用程序。
当你调用'finish'时,应用程序堆栈只是被推到后台。它仍然存在于内存中。安卓系统自己决定何时关闭应用程序(即从内存中删除其实例),通常是在您的应用程序成为最长时间未使用的最古老的应用程序时执行。
不需要,你可以在developer.android.com上了解活动生命周期。
在旧版本的Android系统中,您需要小心不要意外地保持后台服务运行并占用资源,但现在已经进行了重新设计。
我同意barmaley上面的帖子。
长话短说,如果你的问题与安卓系统本身有关,你不需要退出应用程序。放心,开心点。这尤其适用于懒惰的用户(记得旧的塞班系统吗)。
但是,如果您对您的应用程序本身有什么想法,请继续并执行它。您可以完成活动,将其设为空,并结束进程。只需合理,因为一如既往,常识永远比世界上所有教程和参考资料都更好。
无论如何,这只是我的个人看法。
我认为一个退出按钮可以让用户确信你的应用已经关闭。
我知道,这并不意味着应用一定已经关闭,但如果用户通过一个退出按钮感觉更加掌控,那么我认为这是一个好主意。
当我第一次开始为Android编写代码时,我认为手动退出我的主活动是个好主意。但我发现通过stopSelf关闭活动会导致实例状态数据损坏,并在再次打开活动时引起大量ANR。
活动生命周期文档是来自Google框架工程师的信息。每个词都有其原因。
请考虑垃圾回收会占用CPU。这可能看起来微不足道,但在设计移动平台框架时,您会尝试在内存中尽可能缓存多的内容,以防需要再次使用,因为CPU时间=电池电量,从闪存加载代价高昂。
清理整个应用程序的垃圾并不容易,特别是当活动可能被重复使用时。设计必须考虑到所有可能的用例。缓存是有意义的,系统是根据这个原则设计的。
我想说的是,不遵循活动生命周期文档就是在寻求问题。
finish()
,但应用程序本身仍然在后台运行。功能上没问题,但会让用户感到困惑。我可以制作一个名为“WiFi功能开/关”的切换操作,但这并不会简化事情。