【发布时间】:2022-06-14 06:55:14
【问题描述】:
请注意,我问的是一个严格的 dart only 应用程序,它不以任何方式涉及颤振,dartvm 指的是 dart 虚拟机。
据我了解,Dart 的反应状态概念是通过流实现的,处理流对象的生命周期的责任交给了程序员,在运行时,人们可以根据适用的方式来操作他们认为合适的流通过添加到流中来设计他们的设计;听它或处理它。
我的问题是,在我的应用程序退出之前,我是否需要调用流的dispose() 方法?如果我这样做了,我该如何实现呢?挂钩到 VM 状态没有得到很好的记录,并且使用 ProcessSignal 侦听器是不可移植的,如果我不这样做,GC 会处理这种情况吗?在这种情况下,最佳做法是什么?
【问题讨论】:
-
如何退出程序?
-
@julemand101 我目前知道两种方式,一种是ctrl + c,另一种是正常的执行流程。
-
好吧,我不认为你应该关心垃圾收集,因为你的程序只是被关闭了(如果你刚刚使用 Dart 代码分配,你的操作系统将删除 Dart 进程使用的所有内存)记忆)。但是我认为如果您想确保在程序停止之前处理所有事件,您应该更加关注。但是,如果这不重要,那么只要程序停止,这并不重要。有关使 Dart 程序“自然”停止的原因,请参见我的回答:stackoverflow.com/a/70670962/1953515
标签: dart asynchronous dispose dart-stream