setResourceFinalizer<T> method

  1. @protected
void setResourceFinalizer<T>(
  1. void onFinalize()
)

Sets a finalizer for this resource.

The onFinalize function will be called when this resource is garbage collected. Please note that the onFinalize function should not reference instance members directly. Otherwise, it will prevent the object from being garbage collected.

Implementation

@protected
void setResourceFinalizer<T>(void Function() onFinalize) {
  final resource = _AudioResource(resourceId, runtimeType.toString());
  final holder = _AudioResourceHolder(resource, onFinalize);
  _resourceHolders[resourceId] = holder;
  _hasFinalizer = true;

  _finalizer.attach(this, resourceId, detach: resource);
}