可以通过Provider
管理对象的完整生命周期:
Provider<LocalStorageManager>(
create: (context) => LocalStorageManager(),
dispose: (context, obj) => obj.dispose(),
),
但是,如果必须异步初始化对象,则必须使用FutureProvider
:
FutureProvider<LocalStorageManager>(
create: (context) async => await LocalStorageManager().initialize(),
),
如果FutureProvider
没有dispose
回调,我应该如何处置LocalStorageManager
?
此外,如果不管理生命周期,与FutureProvider.value
有什么区别?