2011-06-04 68 views
3

前些日子我已经在Android Marketplace上发布了我的应用程序,并且在设计和开发应用程序时出现了一个问题。这个问题是关于活动数量的限制或不限制。Android,无限项目活动数量和活动生命周期!

例如,我的应用程序包含37个活动。这么多吗?我想知道有200多个级别的“愤怒的小鸟”这样的游戏,它有200个活动?

我的下一个问题是,假设我正在设计一个包含100个活动的应用程序。用户启动应用程序和gos进入上一个活动(例如阅读书籍)。如果用户想关闭应用程序,他应该怎么做?在他的设计上按100次按键?! 如果我想在选项菜单中放置关闭按钮(以帮助用户),我是否必须为每个活动重复它?因为据我所知每个活动都有自己的菜单。

如果我在上次活动中放上了关闭按钮,并且用户点击它,程序将关闭。其他99项活动会发生什么?他们仍然存在于堆栈中吗?或者当我关闭应用程序时,与该包相关的所有活动将从堆栈中删除。我已阅读activities page published by Android但我找不到我的答案。

如果对不起上述问题是愚蠢的问题:) 谢谢

+0

您可以在意图之后关闭当前活动到新活动(通过在当前活动中调用finish())。通过这种方式,您不打算使用的活动可以关闭,或者如果您希望用户在返回按钮按下时关闭应用程序,那么在意图声明之后完成每个活动 – Ashwin 2012-05-17 06:39:04

回答

2

对于Anry Bairds,我怀疑他们有100多项活动,我认为他们只有一个(或可能是一对)级别另一个用于欢迎屏幕 - 根据传递给活动的某些参数,可能会加载不同的级别。

至于如何处理100个被加载的活动,首先,系统很可能会在第100个活动之前回收堆栈底部的旧的活动。如果没有,那么是的,你的用户将不得不点击100次活动。

如果你想改变后退按钮的行为,你可以重写onKeyDown()。

或者如果您想更改活动的默认行为,请参阅activities launch mode

1

嗯,首先,关于愤怒的小鸟,我想这是几乎完全用OpenGL ES的,所以它是由只有少数活动。第二,如果你真的有200个活动,你应该考虑一个可以重复使用多次的活动。例如如果每一页都应该具有相同的外观和功能,那么为什么你需要一本书的每一页的一个活动?只需激发额外数据的意图,它应该工作。并且,要关闭应用程序,您可以简单地按下主页按钮:-)

0

像愤怒的小鸟的应用程序可能有一个OpenGL ES视图一个活动,与所有与接口做了RelativeLayout的

这样说,你可以有活动的数量不受限制,唯一关心的是如何为什么任何用户想要在他们的移动设备上浏览这样一个强大的程序,以及您正在使用多少内存,并且您是否有效地管理您的活动