【问题标题】:How to actively delete a Dart object?如何主动删除一个 Dart 对象?
【发布时间】:2015-05-14 22:12:00
【问题描述】:

我正在构建一个包含各种类对象的 Dart 应用程序。我正在处理的特定类对象包含 DOM 元素上的各种流事件侦听器。当我从 DOM 中删除这些对象并取消跟踪类对象时,这些侦听器仍然存在。

我知道 Dart 最终会运行垃圾收集,但我什至不能 100% 确定它会出现并删除这些类对象,因为有一个 Watcher 和 Stream 监听器在继续。

我的问题是,有没有办法立即主动删除一个类对象?我尝试将类对象设置为 null 但由于某种原因这似乎不起作用。当我随后使用 print 语句检查对象是否存在时,它仍然将其列为该类对象的实例。

此外,对于我想要完成的任务,取消流似乎还不够。我需要销毁类对象。

【问题讨论】:

  • 请提供更多关于您实际在做什么的具体信息。

标签: class dart removeclass event-stream


【解决方案1】:

设置对null 的引用是您所能做的。你的测试看起来很奇怪。如果没有参考,如何打印对象?如果您仍然有参考,您如何期望收集到实例。

【讨论】:

  • 如果一个实例只有一个引用,但它拥有订阅了侦听器的流,是否有必要在将 null 分配给实例引用之前取消订阅,否则该分配将杀死整个事情?
  • 应该关闭 StreamController。自己在 Observatory 中验证总是一个好主意。
猜你喜欢
  • 1970-01-01
  • 2015-04-23
  • 2012-01-08
  • 2011-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-23
相关资源
最近更新 更多