繁体   English   中英

何时在Android应用程序中具有多个“活动”的示例

[英]An example of when to have multiple “activities” in an Android application

我似乎在这里缺少明显的东西,为什么我要在Android中为每个应用程序进行多个活动? 有人有可靠的例子吗?

假设您正在创建一个游戏。 您至少需要进行两项活动-欢迎屏幕和实际游戏屏幕。 此示例中的第三个活动可能是游戏的设置页面。

另一个例子。

假设您正在开发应用程序,则需要弹出一个对话框,即要求用户设置用户名和密码(标准登录屏幕)。 您可能选择创建和活动并向其应用对话框主题。

将其视为桌面应用程序的形式。 您不是将所有内容都放在一种表格上吗? :)

Sorantis的答案是正确的。 这里还有其他想法:

大多数Web应用程序,甚至AJAX-y应用程序,都不会尝试将所有内容都放在一个页面中。 有的确实如此,而那些糖蜜的加载速度往往很慢(Evernote,我在看着你),代码看起来像堆意大利面条,等等。Android也不例外。

另外,超级复杂Activity状态管理会很麻烦,因为您onSaveInstanceState()onSaveInstanceState() ,因此会导致屏幕旋转和支持被踢出RAM的问题。 Android中的内存管理假设许多廉价活动,而不是大量活动。 智能地处理“后退”按钮需要您自己的逻辑逻辑。 如果您需要多个入口点(例如,启动器图标和MIME类型处理程序,以及其他一些应用可以使用startActivityForResult()和搜索结果处理程序调用的内容),那么在一个活动中进行此操作将是一场噩梦。 等等。

使程序中包含多个活动的一项非常基本的事情是使用后退按钮。 用户单击搜索后,我在应用程序中有了一个表单,他会看到另一个活动,该活动显示了搜索结果。 如果他想更改搜索参数,他可以按回去,而无需我做任何特别的事情,他可以返回搜索表单。 通过一项活动来执行此操作将为您带来很多工作。

接下来是内存管理。 更改活动后,Android将自动触发垃圾收集,这意味着我的整个搜索表单都离开了内存,并且不会占用用户任何资源。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM