在我的应用程序中,我在活动之间实现了许多finish()
方法。我应该这样做吗?我这么认为是因为我在帮助用户节省电池。这是真的吗?
此外,谷歌应用程序在其应用程序中没有实现"退出"按钮。但我看到很多游戏都有"退出"按钮。应用程序应该实现退出按钮吗?或者,对于应用程序来说,这是不必要的,但在视频游戏中,这是必要的?
以编程方式完成一个活动是完全可以的。但是,请注意,您不应该在活动之外存储对该活动的引用(如果这就是您所说的在彼此之间完成活动的意思(,因为这会造成上下文泄漏。每一次上下文泄漏都会花费大约1兆字节的内存。点击此处阅读更多信息:http://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html
Reg。"退出"按钮-实际上,实现它是个坏主意。将一些数据保存在RAM中比在CPU中执行代码来创建这些数据所需的功率要小得多。因此,最好是在第一次发射时创建一些数据,然后将其保存在内存中,而不是每次发射都重新进行。这大大节省了电池。这就是为什么安卓的生命周期是这样设计的。通过杀死应用程序,你可以清除内存中的数据,这意味着在下一次启动时,CPU将消耗一些电池来重新创建它。通过允许"退出"选项,你实际上是在伤害用户,而不是帮助他们顺便说一句,在Android应用程序中正确实现退出很困难,所以无论如何都无法工作;(
--更新:Renaud添加了一个很好的点,我完全同意,请参阅他的帖子
Imo除非用户请求或期望完成"活动",否则完成"活动》不是一个好主意,但这在很大程度上取决于特定的应用程序。
如果您使用后退和主页按钮,则不需要退出按钮。尽管如此,如果你想让你的游戏在任何触摸屏上运行,而不仅仅是在Android上,这可能是方便的,甚至是必要的。
以编程方式完成活动的决定应该基于应用程序所需的导航模型。只有当你不想让用户回到活动中时,才能完成活动。
完成一项活动以节省资源不是正确的想法。相反,你应该设计你的活动,以消耗/释放活动生命周期方法中的资源,如onResume、onPause、onStart、onStop等。
在安卓系统上,用户通常使用后退按钮退出或"退出"屏幕。
我引用JBM:
用程序完成一项活动完全可以。
……但在名义上的情况下,这是不必要的,而且,这可能与android UI的工效学完全相反。我建议您仔细阅读开发指南:http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html
西班牙语。使用BACK和HOME键导航离开活动部分。
关于Exit按钮的实现,我再次同意JBM的观点,即实现Exit选项将不幸地导致用户对整个android工效学的失望。
我的观点是,即使文档并不完美,它也提供了大量和充分的关于UI设计、良好实践、编码规则和优化技巧的信息。它将被阅读。
−−更新:流行的愤怒的小鸟应用程序没有实现退出选项,而是使用后退按钮并提示用户退出。这似乎是一个非常好的方法。