android - Android 中的切换 Activity 是否会启动一个新的 JVM

标签 android

Android 中的切换 Activity 会启动一个新的 JVM 吗?似乎每个 Activity 都应该作为自己的“主要”方法运行。如果我有一个单例(通过 Guice,在这种情况下不是实际的单例),我是否应该期望在每次切换 Activity 时都重新创建它?

最佳答案

我对 Android 和一般编程的了解完全是拼凑而成的,没有正式教授,所以也许其他人需要纠正我,但话虽如此,我认为 Android 不会一直启动新的虚拟机。我读过它使用 Dalvik VM而不是标准的 JVM。我无法告诉你这到底意味着什么。然而,切换 Activity 是一种轻量级操作,因为应用程序可以很容易地拥有多个 Activity 。如果它每次都必须重新创建 Dalvik VM,那似乎没有意义,特别是因为 Activity 可以轻松地在彼​​此之间传递信息、调用彼此的方法等。您甚至可以让一个 Activity 启动完全独立的应用程序/任务同时仍然允许它们之间进行一些通信,所以我认为在那种情况下也不必启动另一个 Dalvik VM。

从您关于我们为什么要进行多项 Activity 的其他问题来看,我假设您是 Android 的新手;您是否仔细阅读了它的文档,例如 fundamentals ,特别是 activity lifecycle ?有时信息有点稀疏,而且他们通常假设读者已经了解 Java,但这对您来说应该不是问题。

关于android - Android 中的切换 Activity 是否会启动一个新的 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2471403/

相关文章:

java - 如何设置ListView水平滚动?

android - 我们可以在编译期间或编译后为 android 更改比特率或将比特率传递给 opus 编解码器吗

java - 如何写入文本文件并将其保存以供多次使用

java - 无法转换为上下文

android - SetImageResource 在 android 中不可见

javascript - 使用 javascript 映射读取键值对以填充选择器 react native 时出错

java - 如何在您的代码中支持多个 android 版本?

java - finish() 不会第一次关闭当前 Activity

android - 如何列出所有可调试的应用程序?

javascript - E/Android运行时: FATAL EXCEPTION: main crash when app start