Android 使用finish()和显式退出按钮节省电池寿命?

Android 使用finish()和显式退出按钮节省电池寿命?,android,exit,activity-finish,Android,Exit,Activity Finish,在我的应用程序中,我在活动之间实现了许多finish()方法。我应该这样做吗?我这么认为是因为我在帮助用户节约电池。这是真的吗 此外,谷歌应用程序没有在其应用程序中实现退出按钮。但我看到很多游戏都有退出按钮。应用程序是否应该实现退出按钮?或者,对于应用程序来说,这是不必要的,但在视频游戏中,这是必要的。在我看来,完成活动不是一个好主意,除非用户请求或期望它,但这高度依赖于特定的应用程序 如果依赖“返回”和“主页”按钮,则不需要退出按钮。 尽管如此,如果你想让你的游戏在任何触摸屏上运行,而不仅仅是

在我的应用程序中,我在活动之间实现了许多
finish()
方法。我应该这样做吗?我这么认为是因为我在帮助用户节约电池。这是真的吗


此外,谷歌应用程序没有在其应用程序中实现退出按钮。但我看到很多游戏都有退出按钮。应用程序是否应该实现退出按钮?或者,对于应用程序来说,这是不必要的,但在视频游戏中,这是必要的。

在我看来,完成活动不是一个好主意,除非用户请求或期望它,但这高度依赖于特定的应用程序

如果依赖“返回”和“主页”按钮,则不需要退出按钮。
尽管如此,如果你想让你的游戏在任何触摸屏上运行,而不仅仅是在Android上运行,它可能很方便,甚至是必需的。

以编程方式完成一项活动是绝对可以的。但是,请注意,您不应该在活动之外存储对活动的引用(如果您的意思是说您完成了彼此之间的活动),因为这会造成上下文泄漏。每一次上下文泄漏都会消耗大约1兆字节的内存。请在此处阅读更多信息:

注册。“退出”按钮——实际上,实现它是一个坏主意。在RAM中保存一些数据比在CPU中执行代码来创建数据要省电得多。因此,最好在第一次启动时创建一些数据,然后将其保存在内存中,而不是在每次启动时都重新创建。这大大节省了电池。这就是为什么安卓的生命周期设计成现在的样子。通过关闭应用程序,您可以清除内存中的数据,这意味着在下一次启动时,CPU将消耗一些电池来重新创建它通过允许“退出”选项,您实际上伤害了用户,而不是帮助他们。而且,顺便说一句,在Android应用程序中正确地实现退出是很困难的,所以它无论如何都不会起作用;)


--更新:Renaud添加了一个很好的观点,我完全同意,

以编程方式完成活动的决定应该基于应用程序所需的导航模型。仅当您不希望用户能够返回时,才完成活动

完成一项节约资源的活动不是正确的思考方式。相反,您应该将活动设计为使用/释放活动生命周期方法中的资源,如onResume、onPause、onStart、onStop等

在Android上,用户通常使用后退按钮退出屏幕。

我引用JBM:


按程序完成一项活动 绝对可以

…但在名义上,这是不必要的,而且可能与android UI的功能完全相反。我建议您仔细阅读开发指南:

特别是“使用返回键和主键离开活动”部分

关于退出按钮的实现,我再次同意JBM的观点,即实现退出选项将不幸导致用户对整个android功能的失望

我的观点是,该文档即使不完美,也提供了大量和足够的关于UI设计、良好实践、编码规则和优化技巧的信息。这是值得一读的


−− 更新:流行的愤怒的小鸟应用程序没有实现退出选项,而是使用后退按钮并提示用户退出。这似乎是一个非常好的方法。

Google Analytics的示例应用程序包括一个退出按钮。这是谷歌写的。