启动画面仅在首次启动应用程序时打开

时间:2011-09-30 23:37:02

标签: android

有一个应用程序有2个活动:启动画面和主屏幕。安装应用程序后,它会显示启动,然后完成启动活动并启动主要活动。然后我测试3个场景:

  1. App已启动,屏幕上显示第二项活动。我通过DDMS杀死应用程序进程,再次启动应用程序 - 一切都正确 - 我再次看到启动,然后是第二次活动

  2. App已启动,屏幕上显示第二项活动。我按回键,然后杀死进程,再次启动应用程序 - 一切都正常,它首先启动启动

  3. App已启动,屏幕上显示第二项活动。我按回车键,然后杀死进程,再次启动应用程序 - 并且有惊喜 - 应用程序启动第二个活动,逃避启动

  4. 出了什么问题?

    还有一些像这样的问题,但我仍然没有答案。

    有人可以解释这种行为吗?

2 个答案:

答案 0 :(得分:2)

无论如何,启动画面并不是一个好主意,因为它让用户感觉应用程序是一个附加组件,并且会略微打破整个系统的生命周期。

但是如果你真的想在发布活动上有一个闪屏,有两种选择。一种是在根RelativeLayout内有两个视图。一个在ImageView内有启动画面,另一个布局包含活动的实际内容。然后,使用您喜欢的动画隐藏ImageView

或者,您可以使用片段而不是内容布局并加载Activity个实例(以前使用ActivityGroup完成的操作)。


<强>更新

好的,我忘了提到为什么会在您的应用中发生这种情况。 在任何Android应用程序中,我们都有一组松散绑定的活动,并且(通常)当我们启动一个新的Activity时,它会被添加到Activity堆栈中(以管理后退行为)。我通常会这样说,因为如果需要,你可以改变那种行为(launchMode)。

当您按下后退按钮时,堆栈将被清空,活动将终止。另一方面,当按下主页按钮时,堆栈将在重新启动时保存并恢复。

Android生命周期有时会让人感到头痛,但是一旦你理解了,它就会经过深思熟虑。

这里有一些进一步的阅读:Activity and Task Design Guidelines

答案 1 :(得分:0)

应用程序始终从您以前的位置开始.... 让我们说你有5秒钟。 使用启动画面打开应用程序4秒钟。 你关闭应用程序。 你打开它。 启动画面仅剩1秒钟