我有一个单例类,我将其与应用程序中的某个活动一起使用。当我退出该活动(返回菜单活动),然后重新打开该活动时,我发现尝试访问单例时它仍然是相同的。它不应该随着活动的销毁而被摧毁吗?我看到了这里的问题:living singleton, when activity end,但我无法完全理解他们的意思。当我按下设备上的返回按钮(或在活动本身内部使用finish)时,活动是否会保持活动状态以供将来使用?如果是这样,那么这就可以解释这个问题。
这个活动(Activity)不应该已经被销毁了吗?
不是这样的。
当我在设备上按返回按钮(或在 Activity 中使用 finish() 函数),这个 Activity 是否会保留下来以便未来使用?
这个 Activity 不会保留下来,但是进程会保留。单例模式属于虚拟机的一部分,只要进程存在,它们就会一直存活。退出最后一个 Activity 并不会立即终止进程,所以单例会存活一段时间。
Android 最终会终止该进程,以释放内存给其他应用程序使用。它的执行速度取决于用户正在做什么、安装了哪些应用程序、月相等因素。