attach 抽象方法
- Finalizable value,
- Pointer<
Void> token, { - Object? detach,
- int? externalSize,
将此终结器附加到 value
。
当 value
对程序不再可访问时,终结器将使用 token
作为参数调用其回调函数。
如果提供了非 null
的 detach
值,则该对象可以传递给 Finalizer.detach 以再次移除附加。
value
和 detach
参数不计入程序可访问的对象数量。它们都必须是作为 Expando 键支持的对象。它们可以是 相同的 对象。
多个对象可能使用相同的终结化令牌,并且终结器可以多次附加到同一对象,使用不同的或相同的终结化令牌。
回调将恰好调用一次每个附加,除非注册自附加以来已被解除。
externalSize
应表示给定 value
所拥有的原生(非 Dart)内存量。此信息用于垃圾收集调度启发式。
实现
void attach(Finalizable value, Pointer<Void> token,
{Object? detach, int? externalSize});