我正在查看 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/