【发布时间】:2021-03-05 03:08:58
【问题描述】:
我需要一些保证,即我不会在不处置它们的情况下创建新对象,或者需要知道如何手动监控和处置它们。我认为Navigator.pop() 应该处理我的资源,例如flutter-bloc cubits/blocs,但它看起来不像。
我通过使用 onGenerateRoute 为命名路线提供一肘,如下所示:
在 onGenerateRoute 中:
case Routes.LOGGED_OUT_NICKNAME:
page = MyCustomRouteTransitionAnimation<LoggedOutNickNameView>(
builder: (context) => BlocProvider.value(
value: LoggedOutNickNameCubit(
SaveNickNameLocallyUseCase(), GetUserFieldFromLocalUseCase()),
child: LoggedOutNickNameView()),
);
break;
我注意到当我导航到路线时,它每次都会创建肘部,这很棒,但是当我Navigator.pop()时,肘部没有关闭。
当我在 dart devtools 中监控内存时,无论如何它似乎总是显示 2 个我的 cubit 实例,所以似乎有点没用。我读错了吗?:
如何从 dart devtools 获取内存中对象的实际实例数,以及如何确保我正在适当地清理资源,尤其是块/cubits?
【问题讨论】:
标签: flutter dart devtools stack-navigator flutter-bloc