【问题标题】:Issue : New instance of activity created on resuming the app from background问题:从后台恢复应用程序时创建的新活动实例
【发布时间】:2013-05-27 08:23:53
【问题描述】:

每当我将我的应用程序置于后台、浏览其他一些应用程序并恢复我的应用程序时,都会创建上次打开的活动的新实例。

再次调用 onCreate() 方法,我暂停应用的 Activity 状态丢失。同样在从应用程序注销/退出后,活动的重复实例仍位于顶部。开始活动时我没有使用任何标志。使用默认启动模式。

我尝试在开始活动时使用 FLAG_ACTIVITY_SINGLE_TOP,但没有成功。

有人可以建议出路吗?

提前致谢。

【问题讨论】:

  • developer.android.com/guide/components/…。检查链接。如果用户同时运行多个后台任务,系统可能会开始销毁后台活动以恢复内存,导致活动状态丢失
  • 你能发布一些相关的代码吗?您的 onStart 和 onPause 方法会很有帮助。
  • 您需要更好地管理应用生命周期。如果留在那里,活动将在后台被破坏。另外你怎么知道有一个“重复实例”,即两个同时运行?
  • @Rarw 一旦我从应用程序中注销,我恢复的同一个活动就会停留在顶部,这表明创建了一个新的活动实例。
  • @Rinoy 这如何暗示一个新实例?您假设注销您的应用程序正在破坏已经运行的活动。情况可能并非如此。例如,如果您的注销按钮旨在将用户从您的服务器中注销,并使用意图返回登录屏幕,则它不一定会终止先前的活动。您可能会被“注销”,但之前的活动仍在运行。能贴出注销代码吗?

标签: android android-activity background duplicates resume


【解决方案1】:

检查你是否使用了一些标志来启动活动,以及

检查你是否处理了 onPause() 因为每当你按下主页按钮或退出活动时都会调用暂停

【讨论】:

    猜你喜欢
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多