是否有一种方法可以在Dart对象被垃圾回收(或即将回收)时激活回调?
我正在和一些朋友一起构建一个插件,用于包装MongoDB Stitch SDK。对于某些对象,例如客户端,数据库,集合等,我们需要通过各种方法调用使实例保持活动状态并可检索。
为此,当实例在插件的本机端创建时,我们将实例保存在Map对象中,然后将地图的键返回到Dart端。
这样做,我们可以使用MethodChannel api检索正确的对象并调用请求的方法。
问题在于这样做,即使在Dart中收集了一个对象,我们也会将关联的本机对象保留在Map中,直到程序结束。
我可以为Dart对象提供一个dispose方法,但是这样做,我需要用户自己基本管理内存。几乎可以肯定的会结束。