dispose method

void dispose()

Free all allocated memory

Implementation

void dispose() {
  if (_disposed) {
    return;
  }

  var errorCount = 0;
  for (final pointer in _allocatedPointers) {
    try {
      calloc.free(pointer);
    } catch (e) {
      errorCount++;
      _logError('Failed to free pointer at address ${pointer.address} during dispose: $e');
      // Best effort cleanup - continue freeing other pointers
    }
  }

  if (errorCount > 0) {
    _logWarning('MemoryManager dispose completed with $errorCount errors');
  }

  _allocatedPointers.clear();
  _disposed = true;
}