在Dart中不使用时自动释放本机平台资源

时间:2019-04-13 18:10:36

标签: flutter flutter-plugin flutter-platform-channel

是否有一种方法可以在Dart对象被垃圾回收(或即将回收)时激活回调?

我正在和一些朋友一起构建一个插件,用于包装MongoDB Stitch SDK。对于某些对象,例如客户端,数据库,集合等,我们需要通过各种方法调用使实例保持活动状态并可检索。

为此,当实例在插件的本机端创建时,我们将实例保存在Map对象中,然后将地图的键返回到Dart端。

这样做,我们可以使用MethodChannel api检索正确的对象并调用请求的方法。

问题在于这样做,即使在Dart中收集了一个对象,我们也会将关联的本机对象保留在Map中,直到程序结束。

我可以为Dart对象提供一个dispose方法,但是这样做,我需要用户自己基本管理内存。几乎可以肯定的会结束。

0 个答案:

没有答案