启动另一个应用程序活动并保持活动状态

时间:2012-05-15 08:35:18

标签: android

我有2个应用程序A和B.两者只有一个活动。 应用A启动应用B. 当我关闭B中的活动时 - 我回到A. 如何将应用程序B保留在内存中?如果我用B语言关闭B中的活动() - B仍然是内存。这是否意味着Android下次使用它或启动另一个实例?

更新

如果应用程序B在清单中设置了单个任务或单个活动? 或者B的行为可能取决于A的意图?

1 个答案:

答案 0 :(得分:1)

当您询问“如何将应用程序B保留在内存中?”时,您究竟是什么意思?

如果您真的在谈论2个独立的应用程序,那么Android将在单独的进程中启动每个应用程序。每个进程都有自己的虚拟机。如果应用程序A中的活动在应用程序B中启动活动,那么您将有2个正在运行的进程。一旦B中的活动调用finish(),就完成了。稍后Android会在B中的活动上调用onDestroy(),然后在某个时候Android会杀死B正在运行的进程.Android将在需要内存时或者每当它决定时终止进程它想要的,基于它用于杀死进程的内部标准。

一旦用户从应用程序B返回到应用程序A,如果用户再次在应用程序B中启动活动,Android将在应用程序B运行的过程中创建该活动的新实例。如果该进程已被Android杀死,那么Android将为应用程序B创建一个新进程,然后在该进程中创建一个新的活动实例。

活动调用finish()后,永远不会重复使用。它完成了。它死了。它已准备好进行销毁和垃圾收集。您为活动设置的launchModeIntent中设置的标志没有区别。

我希望这能回答你的问题。