首页 > 解决方案 > Dart 中何时以及如何释放资源?

问题描述

当我们在 Dart 中没有析构函数时,关闭/释放资源的好方法是什么?

例如采取一个数据库类:

class Database {

  final String filename;

  RandomAccessFile _file;  

  Database(this.filename) {
    _file = File(filename).openSync();
  }

  // more reading, writing methods...
}

我们当然应该在_file.close()某个地方调用,我们可以在Database类中添加一个方法来这样做。这似乎只是将问题转移到另一个班级,而不是解决它。

我想我在这里寻找某种 c++RAII的东西,但是没有清理方法,我只能想到琐碎的短期对象来支持类似的东西。

标签: dartresourcesdestructorraii

解决方案


推荐阅读