【问题标题】:android:launchMode="singleTask" NOT prevent multiple root activities from being co-existingandroid:launchMode="singleTask" 不会阻止多个根活动共存
【发布时间】:2012-11-28 03:08:31
【问题描述】:

我的意图是确保任务中的根活动在任何情况下都只有一个实例。所以我设置了 android:launchMode="singleTask",在大多数情况下都可以正常工作。

但是,如果我将我的任务快速切换到其他人并多次切换回来,launchMode 设置似乎失去了效果。我观察到在前一个活动被销毁之前创建了一个新的活动实例,如下所示。

有人可以帮忙提供一个完美的解决方案,以确保根活动的一个实例在任何条件下都存在吗?

提前致谢

11-28 10:43:41.158: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@40523a90 onPause
11-28 10:43:41.158: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@40523a90 onResume
11-28 10:43:41.468: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@40523a90 onPause
11-28 10:43:41.468: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@40523a90 onResume
11-28 10:43:41.818: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@40523a90 onPause
11-28 10:43:41.868: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@4054e0a8 onCreate
11-28 10:43:42.848: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@4054e0a8 onStart
11-28 10:43:42.868: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@4054e0a8 onResume
11-28 10:43:42.868: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@4054e0a8 onPause
11-28 10:43:42.868: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@4054e0a8 onResume
11-28 10:43:42.868: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@40523a90 onStop
11-28 10:43:42.878: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@40523a90 onDestroy
11-28 10:43:42.928: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@4054e0a8 onPause
11-28 10:43:42.928: W/Launcher(15718): Function Called: com.firebear.launcher.Launcher@4054e0a8 onResume

【问题讨论】:

    标签: android instance launcher single-instance launchmode


    【解决方案1】:

    您是否在启动另一个活动时在根活动上调用finish()?如果是这样,请删除该语句。

    一个根活动通常只创建一次,并且只有在它被销毁时才会重新创建。这是正常的应用程序行为,无需在清单中设置任何标志。如果根活动已经存在,onStart()onResume() 将被调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-16
      • 2016-02-29
      • 1970-01-01
      • 2018-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多