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/