free method

  1. @override
void free(
  1. Pointer<NativeType> pointer
)
override

Releases memory allocated on the native heap.

Throws an ArgumentError if the memory pointed to by pointer cannot be freed.

Implementation

@override
void free(Pointer pointer) {
  if (pointer.address == 0) {
    throw ArgumentError('Cannot free a null pointer.');
  }

  if (LeakTracker.enabled) {
    LeakTracker._unregisterAllocation(pointer);
  }

  if (Platform.isWindows) {
    CoTaskMemFree(pointer);
  } else {
    posixFree(pointer);
  }
}