gpt4 book ai didi

android - 启动另一个应用程序 Activity 并保持 Activity 状态

转载 作者:行者123 更新时间:2023-11-30 04:12:33 28 4
gpt4 key购买 nike

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

更新

如果应用程序 B 在 list 中设置了单个任务或单个 Activity ?或者 B 的行为可能取决于 A 的 Intent ?

最佳答案

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

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

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

一旦一个 Activity 调用了finish(),它将永远不会被重用。完成了。它死了。它已准备好进行销毁和垃圾收集。您为 Activity 设置什么 launchMode 或在 Intent 中设置什么标志都没有区别。

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

关于android - 启动另一个应用程序 Activity 并保持 Activity 状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10596971/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com