首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MapActivity实例管理

MapActivity实例管理
EN

Stack Overflow用户
提问于 2011-11-18 10:12:57
回答 1查看 142关注 0票数 0

我有一个MapActivity子类,我希望保留堆栈,但是不能在同一个进程中保留多个MapActivity实例。因此,我提出了两个方案来实现这一目标:

  1. 传递MapActivity的状态以及它触发的任何意图,然后通过发送重新创建该活动的意图让切换到重构MapActivity的活动。此外,将设置MapActivity,以便意图一次只创建该活动的单个实例。这种方法存在缺陷,因为此活动有多条退出路径,因此需要对所有这些路径进行更改,以支持此操作。
  2. MapActivity替换为一个模拟活动,该活动在其onResume()方法或其他方面进行重新创建,然后您切换到的活动可能仍然很高兴地不知道这个问题。这种方法的问题在于,我不知道应该如何创建这个模拟活动,也不知道如何启动我想要切换到的活动.

因此,我的问题是,这是否有更好的方法来做到这一点,如果没有,如果有可能的话,我将如何处理备选方案2?

编辑:实现选项2的一种可能方法是使模拟活动成为在onCreate()中为您启动目标活动的途径点。但是,我们只需要注意,如果由于活动正在重建而再次调用onCreate(),则不会再次启动目标活动。这可以通过检查savedInstanceState是否为null来完成。

EN

回答 1

Stack Overflow用户

发布于 2011-11-18 10:28:52

您应该在清单文件中使用SingleInstance属性,这将使先前启动的实例位于后端的顶部。

代码语言:javascript
复制
<activity android:launchMode="singleInstance"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8180782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档