Android创建新的应用程序实例

时间:2011-04-15 08:57:13

标签: android lifecycle

我有一个包含多项活动的应用程序。 Own Application类用于存储全局数据,因此任何活动都可以检索它。 问题是,当我努力通过活动(特别是通过创建大量位图图像的活动)时,系统会创建具有错误全局数据的Application类的新实例。

问题是:为什么会这样? )

我相信对这种行为有一些简单的解释。

1 个答案:

答案 0 :(得分:2)

您应该在androidManifest.xml中的android:launchMode标记内指定activity属性以满足您的需求,例如:

<activity android:launchMode="singleTask" [...]>
    [...]
</activity>

您可以阅读更多相关信息: android:launchMode=["multiple" | "singleTop" | "singleTask" | "singleInstance"]

  

“singleTask”和“singleInstance”   活动只能开始一项任务。他们   永远是活动的根源   堆。而且,该设备可以容纳   只有一个活动的实例在   时间 - 只有一个这样的任务。

     

"singleTask""singleInstance"   模式仅相互不同   一个方面:一个“singleTask”活动   允许其他活动成为其中一部分   它的任务。它永远是根源   它的任务,但其他活动   (必然是“标准”和   "singleTop"活动)可以   发起了这项任务。一个   "singleInstance"活动,关于   另一方面,不允许其他   活动成为其任务的一部分。   这是任务中唯一的活动。如果   它开始了另一项活动   活动被分配给不同的   任务 - 就好像FLAG_ACTIVITY_NEW_TASK   是故意的。

通过这种方式,您可以确保只有一个活动实例正在运行。