【发布时间】:2021-04-07 15:57:24
【问题描述】:
对于初学者的问题,我很抱歉,但这是我有点困惑的问题,并且找不到相关文档。所以我明白,如果你订阅了一个 observable,如果没有取消订阅,它可能会导致内存泄漏(例如在 OnDestroy 中,因为我主要使用 Angular)。但是,如果您关闭标签/页面,这仍然是一个问题吗?据我所知,应用程序所在的服务器没有运行它,只是将前端代码提供给浏览器,然后浏览器运行/加载它。因此,如果您没有正确取消订阅 observable,那么在您关闭应用程序运行的选项卡后,它仍然应该被“销毁”,对吧?我不确定浏览器是如何准确存储这些内容的,所以我不是 100% 参与其中,但这对我来说听起来很合乎逻辑,因为应用程序大部分时间都不是 24/7 运行的,这只是一个问题一整天都在运行,对吗? (是的,我知道我们应该每次都取消订阅,我只是出于好奇才问这个)。
【问题讨论】:
-
关闭选项卡/页面应该会释放与该页面相关的所有内容(可能不是立即,但足够快),无论如何该页面上的代码中的任何错误。这取决于各个浏览器的实现。
标签: javascript angular