Метод attach
- Finalizable value,
-
Pointer<
Void> token, - {Object? detach,
- int? externalSize}
Прикрепляет данный финализатор к value.
Когда value больше недоступно программе, финализатор вызовет свою функцию обратного вызова с token в качестве аргумента.
Если предоставлено значение, которое не является null detach, этот объект можно передать в 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.18.5/dart-ffi/NativeFinalizer/attach.html