attach 抽象方法

void attach(
  1. Finalizable value,
  2. Pointer<Void> token, {
  3. Object? detach,
  4. int? externalSize,
})

将此终结器附加到 value

value 对程序不再可访问时,终结器将使用 token 作为参数调用其回调函数。

如果提供了非 nulldetach 值,则该对象可以传递给 Finalizer.detach 以再次移除附加。

valuedetach 参数不计入程序可访问的对象数量。它们都必须是作为 Expando 键支持的对象。它们可以是 相同的 对象。

多个对象可能使用相同的终结化令牌,并且终结器可以多次附加到同一对象,使用不同的或相同的终结化令牌。

回调将恰好调用一次每个附加,除非注册自附加以来已被解除。

externalSize 应表示给定 value 所拥有的原生(非 Dart)内存量。此信息用于垃圾收集调度启发式。

实现

void attach(Finalizable value, Pointer<Void> token,
    {Object? detach, int? externalSize});