4

In my app I'm implementing many finish() methods between activities. Should I be doing this? I think so because I'm helping conserve the user's battery. Is that true?

Also, Google apps don't implement an Exit button in their applications. but I see in many games they have an Exit button. Should apps implement an a exit button? Or perhaps for apps it's not necessary, but in videogames it is?

4

4 回答 4

2

以编程方式完成活动是绝对可以的。但是,请注意,您不应该在其外部存储对活动的引用(如果这就是您的意思是说您完成彼此之间的活动),因为这会造成上下文泄漏。每个上下文泄漏都会花费您大约一兆字节的内存。在这里阅读更多:http ://android-developers.blogspot.com/2009/01/avoiding-memory-leaks.html

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

-- 更新:Renaud补充了一个很好的观点,我完全同意,请参阅他的帖子

于 2011-07-01T21:32:46.040 回答
1

我引用 JBM:

以编程方式完成活动是绝对可以的。

…但在名义情况下,这不是必需的,而且,可能与 android UI 人体工程学完全相反。我建议你仔细阅读开发指南:http: //developer.android.com/guide/practices/ui_guidelines/activity_task_design.html

特别是。使用BACK 和 HOME 键离开活动部分。

关于退出按钮的实现,我再次同意 JBM 的观点,即实现退出选项会不幸地导致用户对整个 android 人体工程学感到失望。

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

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

于 2011-07-01T23:04:22.780 回答
1

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

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

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

于 2011-07-01T21:52:27.977 回答
1

Imo 除非用户请求或期望它,否则完成 Activity 不是一个好主意,但这高度依赖于特定的应用程序。

如果您依赖返回和主页按钮,则不需要退出按钮。然而,如果您希望您的游戏在任何触摸屏上运行,而不仅仅是 Android,它可能会很方便甚至是必需的。

于 2011-07-01T20:57:40.793 回答