我需要处置cubit实例吗?
Posted
技术标签:
【中文标题】我需要处置cubit实例吗?【英文标题】:Do I need to dispose cubit instances? 【发布时间】:2021-01-08 04:42:12 【问题描述】:我是 Flutter 和 bloc 的新手。事实上,我最近才开始使用cubit。出于学习目的,我创建了一个简单的应用程序,在其中我使用 cubit 来实现 bloc 功能。在我在网上找到的所有示例中,他们建议在 UI 中处理 bloc 实例。但是,当涉及到肘时,我没有发现类似的东西。所以,我的问题是:我是否需要处置 cubit 实例以及如何处置?这里值得一提的是,我使用的是 MultiBlocProvider。
【问题讨论】:
【参考方案1】:Bloc 扩展 Cubit,Cubit 扩展 Stream。像 Dart 中的任何 Stream 一样,它需要在不需要时进行处理,并且它具有 close
方法来执行此操作。
如果您使用 BlocProvider,此方法将自动执行
【讨论】:
感谢您的回答!这意味着我不必创建 @dispose 方法。对吗? 正确。 MultiBlocProvider 将处理处置 @johnweak 如果有帮助,您介意将帖子标记为答案吗? 但是,例如,如果我想在关闭之前取消订阅(或删除侦听器)。我应该重写 close 方法吗(当然是调用 super.close())? @Caiosantos 是的。在 Cubit 类中定义的订阅不会被关闭以上是关于我需要处置cubit实例吗?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我需要 Dispose 一个 System.Net.Mail.MailMessage 实例?