абстрактный метод attach
- Finalizable value,
-
Pointer<
Void> token, - {Object? detach,
- int? externalSize}
Присоединяет этот финализатор к value.
Когда value перестанет быть доступным программе, финализатор вызовет свою функцию обратного вызова, передав token в качестве аргумента.
Если указано значение detach, не являющееся null, этот объект можно передать в Finalizer.detach, чтобы удалить привязку.
Аргументы value и detach не учитываются при определении доступности этих объектов программе. Оба должны быть объектами, которые можно использовать в качестве ключа Expando. Они могут быть одним и тем же объектом.
Несколько объектов могут использовать один и тот же токен финализации, а финализатор можно присоединить к одному объекту несколько раз с разными или одинаковыми токенами финализации.
Функция обратного вызова будет вызвана ровно один раз для каждой привязки, кроме регистраций, которые были отсоединены после присоединения.
Аргумент externalSize должен представлять объём нативной (не Dart) памяти, принадлежащей указанному value. Эта информация используется эвристиками планирования сборки мусора.
Реализация
void attach(Finalizable value, Pointer<Void> token,
{Object? detach, int? externalSize});
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-ffi/NativeFinalizer/attach.html