2010-03-17 55 views

回答

6

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

另一个例子。

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

认为它是桌面应用程序的形式。你不把所有东西放在一个表格上吗? :)

4

Sorantis的答案是现货。以下是其他想法:

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

此外,超级复杂Activity的状态管理将会令人讨厌,导致您在屏幕旋转方面出现问题,并且支持将其从RAM中踢出,因为您搞砸了onSaveInstanceState()。 Android中的内存管理假设大量便宜的活动,而不是大量的。智能地处理BACK按钮需要你自己的逻辑。如果你想要多个入口点(例如,Launcher图标和MIME类型处理程序,以及其他一些应用程序可以用startActivityForResult()和搜索结果处理程序调用的东西),那么在一个活动中这样做将是一场噩梦。等等。

1

一个非常基本的东西,使您的程序中有多个活动需要是使用后退按钮。我在应用中有一个表单,用户点击搜索后会显示另一个显示搜索结果的活动。如果他想改变搜索参数,他可以按回来,没有我做任何特别的事情,他会回到搜索表单。通过一项活动来做这件事对你来说将是一项很大的工作。

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