gpt4 book ai didi

flutter - 使用 DI 将 BLoC 作为单例注入(inject)的效果以及在哪里关闭流?

转载 作者:行者123 更新时间:2023-12-04 04:22:55 31 4
gpt4 key购买 nike

我正在使用 inject.dart 将我的 bloc 作为单例注入(inject),这是一种不好的做法,即导致内存泄漏?

由于我使用的所有流都是来自 RxDart 的广播流,我想知道单例是否会更好?

如果不是一个坏习惯,关闭流的最佳位置是什么?
由于其他小部件可能仍在使用流,因此在有状态小部件(订阅 bloc)的 Dispose() 中执行此操作会导致问题吗?

最佳答案

你不应该使用单例,因为它会消耗太多内存。而是将 bloc 注册为工厂类。

请参阅此 github 问题 - https://github.com/felangel/bloc/issues/711

如果您在处置集团后将它们注册为单例,您将无法再次使用该集团,但如果您注册为工厂,您可以在 void dispose(){...} 中处置它。小部件的方法。

关于flutter - 使用 DI 将 BLoC 作为单例注入(inject)的效果以及在哪里关闭流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58644621/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com