【发布时间】: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