dispose method
All disposable instances must be disposed
- Bad:
void main() { Disposable? instance; }
- Good:
``` dart
void main() {
Disposable? instance;
instance?.dispose();
}
Also, dispose()
method can be overrided to finish all needed tasks
- Example:
void dispose() { super.dispose(); foo.finishFetching(); }
Implementation
@mustCallSuper
void dispose() {
assert(!_disposed, 'You try to dispose the instance that was disposed');
for (Disposable element in disposables) {
element.dispose();
}
_disposed = true;
onDispose();
}