我在客户端使用Om,并且在应用程序的生命周期内,许多组件都被安装/卸载。安装时,会打开各种通道(转到程序段)。我也计划使用IWillUnmount来关闭它们。但首先,我的问题是:未封闭的渠道会发生什么?他们使用的资源是否被释放?不关闭通道(卸载组件时)会降低longrun中的浏览器性能吗?感谢。
答案 0 :(得分:3)
基于粗略阅读的实现,未封闭的渠道不应使用资源如果他们有资格被垃圾收集。这意味着发件人和收件人都不能保留对它们的引用(或者也必须有资格收集)。
所有关闭通道的操作都是空缓冲区,并将其标记为已关闭,以便无法将任何内容添加到缓冲区。如果缓冲区中没有任何消息,则打开的通道将使用与关闭的资源相同的资源。