StreamSubscription.cancel 与 StreamController.close 在内存泄漏方面的比较

2024-01-26

是否打电话StreamController.close自动取消StreamSubscription并删除所有引用?
我认为这是有道理的,但我无法在文档中找到它来确定。

我有以下代码:

dispose: (context, bloc) {
  _blocSubscription.cancel();
  bloc.dispose();
},

但我很确定我可以删除它_blocSubscription变量并调用bloc.dispose(), as _blocSubscription.cancel()似乎多余,任何订阅都会自动取消。但我找不到任何有关订阅是否包含对已关闭的引用的信息Stream,这可能会导致内存泄漏。


你只需要思考什么是StreamSubscription https://api.flutter.dev/flutter/dart-async/StreamSubscription-class.html事实上确实如此。

它只是为您提供了一种方法取消订阅您的listener

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

StreamSubscription.cancel 与 StreamController.close 在内存泄漏方面的比较 的相关文章

  • Dart:使用 html 导入时隔离不起作用

    我在 Dart 中发现了这种非常奇怪和不幸的行为 当我在主文件中导入 dart html 时 我的 Isolate 停止工作 使用我的文件 isolate dart main print BAM 这会打印 BAM import dart c
  • DraggableScrollableSheet 拖动时不会给出工作表的当前位置

    在flutter中我们有一个小部件可拖动可滚动表 现在我想要子元素拖动时的当前位置或当前大小 目前还没有办法获得该值 它在其构建器方法中提供了 ScrollController 但那是在列表滚动时而不是在拖动列表时 那么还有另一种方法可以跟
  • 当 TextFormField 聚焦时如何隐藏错误外观

    我在用着TextFormField用于表单和自定义验证器方法返回错误消息 我试图隐藏默认错误消息和错误边框TextFormField当文本字段获得焦点时 TextFormField focusNode focusNode validator
  • 如何使用 Dart 构建枚举? [复制]

    这个问题在这里已经有答案了 Dart 语言没有枚举 还没有 至少在语言功能出现之前 构建枚举的正确或惯用的方法是什么 Dart 现在支持枚举 这个答案的其余部分适用于 Dart 1 8 请使用 Dart 对枚举的正式支持 在另一个答案中进行
  • 如何让按钮选择所有 Flutter 复选框?

    问题是我无法让按钮选择所有复选框 因为我使用的是自动生成的复选框列表 由于我创建了一个带有列表项的类 WordBlock 它是一个带有复选框的容器 每个复选框都有自己的选中值 因此我无法以任何方式选择所有内容 如果我通过构造函数设置选中的值
  • Riverpod - ref.refresh。应该使用“刷新”的值

    我正在将 Riverpod 与 flutter 一起使用 在我的主屏幕上 我有一个 FutureProvider 它调用 API 服务器 并在页面上显示结果 在应用程序的不同点 不同屏幕上的用户进行更改 然后我从另一个屏幕刷新提供程序 像这
  • Flutter-Listview 的子级在滚动期间位于上面的小部件后面[重复]

    这个问题在这里已经有答案了 参考这个视频 https drive google com file d 1HXbY6SNXirLQNTBtZT4vowdCzBSKarm view usp sharing 这是我的代码 它简单地使用了 list
  • 如何检测flutter网站是否在浏览器后台运行?

    WidgetsBindingObserver 不适用于我的 flutter web 项目 是否有类似的东西可以检测用户何时关闭浏览器 例如使用 widgetbinding 关闭本机设备应用程序 我想在每次重建浏览器后重建整个网站 无论网站之
  • 如何在 flutter 插件的 Swift 编写的 iOS 部分中使用 Objective-C 框架

    In a 颤振插件 我想用一个Objective C我的框架iOS部分用swift编写 然后将其用于使用 Swift 的 Flutter 项目作为 iOS 语言 经过一些研究 我不是 iOS 开发人员 后 我发现我想要做的事情可以通过导入文
  • 如何将资产图像转换为文件?

    有没有办法将资产图像用作文件 我需要一个文件 以便可以使用它通过 http 在互联网上进行测试 我尝试过 Stackoverflow com 的一些答案 如何使用 image file 加载图像 https stackoverflow co
  • 水平翻转动画 ImageWidget Flutter

    I want to do Horizontal flip animation for CircularAvatar widget like below animation Like this i want to flip circularA
  • 颤动相机显得拉伸

    我一直在玩颤振 到目前为止我很喜欢它 但我在让相机工作时遇到了问题 我按照本页上的说明进行操作https pub dartlang org packages camera https pub dartlang org packages ca
  • 在 flutter 应用程序中添加启动屏幕的正确方法是什么?

    我正在开发一个基于 flutter 的应用程序 并研究了几种添加闪屏的方法 但我不确定哪一个是最好实现的 import dart async import package flutter material dart import packa
  • 将颤动网格视图中的最后一行项目居中

    我有一个要输出到的动态项目列表GridView countmainAxisCount 为 2 2 列网格 的构造函数 如果列表长度为奇数 则最后一行将仅包含单个项目 我希望这个单个项目位于屏幕中央 而不是与第一列对齐 这可以做到吗 考虑到有
  • VS Code:无法安装以下 Android SDK 包,因为某些许可证尚未被接受

    我想做的是使用 VS Code 构建我的 flutter 应用程序 当我运行以下命令时flutter build apk FAILURE Build failed with an exception Where Build file F y
  • dart 中的 DateFormat 错误:“尝试在位置 10 处读取 2020 年 4 月 17 日的 -YYYY”

    如何将像 17 04 2020 这样的 dd MM yyyy 格式的字符串转换为 dart flutter 中的 DateTime 对象 formatter new DateFormat dd MM YYYY formatter parse
  • 我在浏览时无法预览 vscode 上的图标?

    如图所示 我正在浏览图标 但没有显示任何图标 新的更新是否有变化 或者我在这里遗漏了一些东西 gt 它曾经在我浏览时显示图标 当您将鼠标悬停在工具提示的右侧时 应该会出现一个箭头 指出 阅读更多 只需单击一次 因此图标预览应该始终出现
  • 如何在flutter中绘制自定义形状卡片

    我只想创建这样的卡片 代码如下 我用的是CustomPaint小部件绘制自定义形状 然后在内部使用堆栈Card正确放置小部件的小部件 我没有图像 所以将其更改为粉红色以显示图像 这是卡片小部件的代码 然后是CustomPainter cla
  • 努力在 AngularDart 中实现选项卡

    我正在尝试学习 Dart 和 AngularDart 最初一切都很好 直到我决定尝试基于类似于 Angular 主页的示例实现选项卡组件 例如
  • 如何将数据记录到Flutter控制台?

    我是一名初学者 正在使用 IntelliJ IDEA 我想将数据记录到控制台 I tried print and printDebug 但我的数据没有显示在 Flutter 控制台中 如果你在 Flutter 中Widget 您可以使用de

随机推荐

  • 使用 UMAP 和 HDBScan 进行集群

    我有大量的文本数据 大约有 5000 人输入 我使用 Doc2vec 为每个人分配了一个向量 使用 UMAP 缩减为二维 并使用 HDBSCAN 突出显示其中包含的组 目的是突出具有相似主题相似性的组 这导致了如下所示的散点图 这看起来可以
  • Gitlab CI如何部署最新到特定目录

    我在 Gitlab 中有两个项目 其中一个是另一个项目 我们称这个存储库为 main 的子模块 我们称其为 前端模板 我已经为 frontend templates 存储库设置了 Gitlab CI 构建 问题是我不需要测试或构建 我只需要
  • 将 UIView 中的标签居中

    将标签居中的最佳方法是什么UIView 如果你做了类似的事情 UILabel myLabel UILabel alloc initWithFrame CGRectMake view frame origin x 2 view frame o
  • Flask 只能看到通过curl 发送的多个参数中的第一个参数

    我正在使用curl 向需要多个查询参数的Flask 路由发出请求 但是 日志仅显示 url 中的第一个参数 Flask 看不到第二个参数 出了什么问题 app route path methods GET def foo print req
  • 从 .NET 3.5 WCF Web 服务 (REST) 返回 JSON 和 XML 格式

    我有一个返回 XML 响应的现有 Web 服务 我想添加一些返回 JSON 的新方法 我是否必须创建一个以 JSON 形式返回的单独 Web 服务 还是可以混合使用 如果我使用 ResponseFormat WebMessageFormat
  • 设置 分钟间隔 时 UIDatePicker 的奇怪行为

    以下代码在 iOS 4 3 下显示奇怪的行为 也许其他版本也是如此 在这个例子中 一个UIDatePicker其日期设置为4 Aug 2011 2 31 PM被展示 这UILabel以下UIDatePicker显示日期以供参考 他们三个UI
  • 重写派生类中的成员字段

    我有下面的代码片段 include
  • 如何将 pygame 应用程序转换为 iOS 应用程序

    我使用 pygame 在 python 中编写了一个非常小的未完成的游戏 有没有一种简单的方法可以将其转换为我可以在 iPhone 上使用和测试的应用程序 而无需在 kivvy 等中重写整个代码 没有简单的方法 不可能转换代码 但对于一款简
  • Spark数据集/数据帧连接NULL倾斜键

    使用 Spark Dataset DataFrame 连接时 我面临长时间运行并因 OOM 作业而失败 这是输入 约 10 个不同大小的数据集 大部分都很大 gt 1 TB 所有左连接到一个基础数据集 一些连接键是null 经过一些分析 我
  • 动态大小 UICollectionView 单元格

    1 我怎样才能实现如图所示UICollectionView 2 我已经尝试过 CGSize collectionView UICollectionView collectionView layout UICollectionViewLayo
  • Magento如何缓存productCollection

    我注意到我的主页需要很长时间才能加载 根据 site24x7 com 事实上超过 6 秒 所以我一直在关闭元素以尝试确定原因是什么 这取决于我制作的 2 个产品集合文件展示新产品和畅销产品 当我从主页中删除这些内容后 页面加载时间不到 0
  • Primefaces 数据表冻结列未对齐

    我们有一个数据表 如图所示 有 3 个冻结列 其余可滚动 冻结的列未对齐 如图所示 如果删除冻结列属性 则表看起来正常 任何解决问题的建议 我过去在冻结数据表方面遇到过类似的问题 并在不同的帖子中使用许多不同的脚本 我发现下面的脚本适用于所
  • 当你克隆 `&str` 时会发生什么?

    当你克隆一个时会发生什么 str 是克隆的吗 str指向与克隆者相同的地方 str或者是什么 这有记录在任何地方吗 克隆一个 str与克隆任何相同 T 它只是复制引用 从字面上看 它只是返回自身 https doc rust lang or
  • .FillRectangle 不绘制任何内容

    我无法弄清楚为什么 FillRectangle 不适合我 此外 由于它没有抛出任何异常 我不知道为什么会这样 所以我在这里需要一些帮助 受影响的代码部分是这样的 try using FileStream fileStream File Op
  • 直接从 JavaScript 访问 GET?

    我想我可以使用 PHP 来访问 GET来自 JavaScript 的变量 但也许它更简单 有没有办法直接用JS实现呢 Look at window location search 它将包含一个像这样的字符串 foo 1 bar 2 要将其转
  • 核心数据使用一次后<故障>

    我搜索了几个小时但没有找到任何东西 我处于有线状态核心数据 获取对象的方法 func fetchAllCoreData gt NSArray let moc DataController managedObjectContext let f
  • 如何在android中的gridview适配器的getView()内膨胀另一个布局?

    I want to create weekly calendar view and inside each grid item each day there are may be several activities Out of this
  • 关闭时控制台关闭过程[重复]

    这个问题在这里已经有答案了 我将一个DLL注入到一个进程中 在该进程的入口点我生成一个新线程并分配一个控制台 我将所有std重定向到控制台 当我关闭控制台窗口时整个进程关闭 有没有办法这样它就不会关闭进程 这是我的代码 入口点 pragma
  • 如何识别用户何时开始和停止在 android 中说话? (Android 中的语音识别)

    我已经进行了大量的研发并使用了大量的资源来解决我的问题 但我未能找到任何适当的解决方案 我已经开发了一个应用程序 现在我想添加基于语音的功能 to it 所需的功能是 1 when USER开始说话 应该录制音频 视频 and 2 当用户停
  • StreamSubscription.cancel 与 StreamController.close 在内存泄漏方面的比较

    是否打电话StreamController close自动取消StreamSubscription并删除所有引用 我认为这是有道理的 但我无法在文档中找到它来确定 我有以下代码 dispose context bloc blocSubscr