【问题标题】:Android: Lifecycle problem - leaving the applicationAndroid:生命周期问题 - 离开应用程序
【发布时间】:2010-07-19 11:09:06
【问题描述】:

我的应用程序中的第一个活动是带有进度对话框的初始屏幕,我在其中从 Web 服务加载数据。
完成后,我开始下一个活动并在第一个活动的 onPause() 中调用 finish(),以使其不再出现。
下一个活动是我的主菜单,然后我从那里浏览应用程序。
问题是当我想离开应用程序时。我从参加过的任何活动返回到主菜单,然后按 BACK 或 HOME。
如果在我再次启动应用程序后不久,我的主菜单会立即出现,并且我不会通过启动数据的初始屏幕。另外,离开前的数据好像也被公开了。结果,我从主菜单启动的活动(取决于在启动屏幕期间获取的数据)变成了空的。

有人知道如何解决这个问题吗?
谢谢,罗伯

【问题讨论】:

    标签: android exit lifecycle


    【解决方案1】:

    离开主要活动时,您是否将数据存储在由 onCreate() 加载的包中?

    我建议阅读http://developer.android.com/guide/topics/fundamentals.html上有关保存活动状态的部分

    【讨论】:

    • 不,我不知道。我有一个在初始屏幕(第一个活动)期间填充的数据结构。每当我需要在 UI 组件中显示一些数据时,我都会求助于上述数据结构。
    • 谢谢克里斯蒂安。我在您提供的链接的“清除堆栈”部分找到了解决方案。
    【解决方案2】:

    据我所知,Android Mobile 有 Home 和 key Button 来实现多任务/在后台运行应用程序。当您单击返回时,它会将当前活动作为默认值完成。当您点击 Home 时,它​​会直接导航到 Home 屏幕,您的 App 将在后台运行。

    所以你的场景是不可能的,而且它也不是一个有效的多任务环境。所以你想关闭你的应用程序。您必须使用返回按钮导航到主屏幕上的活动。如果您按 HOME,它会在您离开时启动 Activity。

    【讨论】:

      猜你喜欢
      • 2011-10-31
      • 1970-01-01
      • 2011-06-02
      • 2012-12-29
      • 2021-05-06
      • 2011-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多