onClose method
Called before onDelete method. onClose might be used to dispose resources used by the controller. Like closing events, or streams before the controller is destroyed. Or dispose objects that can potentially create some memory leaks, like TextEditingControllers, AnimationControllers. Might be useful as well to persist some data on disk.
Implementation
@override
void onClose() {
if (!_scrollDisposed) {
_scrollDisposed = true;
// Safely remove listener and dispose
try {
// Check if has clients before removing listener
if (scroll.hasClients) {
scroll.removeListener(_listener);
}
scroll.dispose();
} catch (e) {
// Catch any disposal errors to prevent blocking other cleanup
Jet.log('Error disposing scroll controller: $e', isError: true);
}
}
super.onClose();
}