dispose method
Implementation
@override
void dispose() {
_isDisposed = true;
// Clear cache first
_objectCache.clear();
// Batch destroy all tracked objects
// Use toList() to create a copy, because dispose() might modify the set via unregisterObject
for (final token in _activeTokens.toList()) {
if (!token.isDisposed) {
token.isDisposed = true;
_ffi.freeObject(_handle, token.handle);
_ffi.freeQjsResult(token.handle);
}
}
_activeTokens.clear();
instances.remove(_handle.address);
JSObject.clearContextState(_handle.address);
print('js context dispose');
_ffi.destroyContext(_handle);
}