Dart 中对象销毁之前如何做一些事情?

问题描述 投票:0回答:3

在 Java 中我们可以做类似 override Finalize() 的事情,在 C++ 中我们可以做类似 ~Someclass() 的事情,

但是我如何在 dart 中做到这一点,我阅读了 https://www.dartlang.org/ 中的文档,但没有找到答案。

dart destructor angular-dart
3个回答
33
投票

不支持此功能。 Dart 中没有什么比析构函数更好的了。
JS 垃圾收集器没有提供实现这一点的方法。 另请参阅 https://stackoverflow.com/a/20490161/217408https://github.com/dart-lang/sdk/issues/3691


5
投票

Dart 现在提供 finalizers,从 Dart 2.17 开始。


0
投票

我不知道这是否相关,但 Flutter 提供了 dispose 方法,其工作原理类似于解构函数,它可以让你处理任何对象或实例方法,例如

  • 订阅(您的页面消失后您不希望订阅)

只需在构建方法之后重写此方法即可处置任何方法

© www.soinside.com 2019 - 2024. All rights reserved.