Provider giữ tất cả instance trong bộ nhớ đến khi bạn xóa thủ công.
- Riverpod (2.x trở lên) tự động dispose provider khi không còn listener nào — mức tiết kiệm bộ nhớ thực tế phụ thuộc vào số lượng và kích thước provider, không nên trích dẫn con số cụ thể mà không có benchmark.
- Về type safety: Riverpod dùng code generation (
@riverpod) tạo provider type-safe, phát hiện lỗi lúc compile thay vì runtime. - Provider hay gặp lỗi
ProviderNotFoundExceptionlúc chạy mà không có cảnh báo sớm. - Riverpod còn hỗ trợ
AsyncValueđể handle loading/error state một cách nhất quán.
Provider keeps all instances alive until manual cleanup.
- Riverpod (2.x+) auto-disposes unused providers when they have no listeners — actual memory savings depend on the number and size of providers in your app.
- For type safety, Riverpod uses code generation (
@riverpod) to create compile-time-safe providers, catching errors earlier than Provider's runtimeProviderNotFoundException. - Riverpod also provides
AsyncValuefor consistent loading/error handling.