dart - 如何确保 Callback.dispose 被调用?

标签 dart

我正在查看 js-interop 库( http://www.dartlang.org/articles/js-dart-interop/ )和( http://dart-lang.github.com/js-interop/docs/js/Callback.html )。我想使用 new Callback.many 设置多火回调.它说我必须确保调用 dispose()否则我可能会出现内存泄漏。确保的最佳方法是什么 dispose()当我的页面被卸载时被调用?

最佳答案

你真的不需要明确地处理 Callback当您的页面卸载时。浏览器应该像页面中使用的其他 javascript 变量一样清理它们。

dispose()当您知道 Callback 时应该使用将不再使用。这就像删除未使用对象上的引用以允许对其进行垃圾回收。

从技术上讲,所有回调都在 Map 中引用,以允许 js 和 dart 之间进行通信。因此,即使您的代码不保留对回调的引用,它也不会被垃圾收集。调用 dispose()将删除该引用并使回调自由地被垃圾收集。

关于dart - 如何确保 Callback.dispose 被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14714879/

相关文章:

dart - 在 Dart 中向服务器发出多个独立请求的最佳方式

dart - DragTarget onWillAccept 和 onAccept 不触发

flutter - ( flutter )在Grid View Builder中选择对项目有影响吗?

dart - 带有图像背景 flutter 的按钮

datetime - 如何将字符串转换为具有月份名称、日期和年份抖动的 DateTime 对象?

firebase - 如何在 flutter 的轮播 slider 中从firebase中删除图像之间的加载时间

dart - 如何将值传递到相位器(Dart端口)State.init()函数?

dart - 在 flutter 中在图标上写文字

flutter - 为什么建议在大型项目中使用 Bloc 模式?

flutter - Flutter:使用MaterialPageRoute从无状态小组件到有状态小组件