我有一个StreamController.broadcast()在创建时将其传递给许多颤振小部件。
因为在每个Steam中,我都将重新创建这些小部件,所以我想知道在这些小部件中使用build是否不会导致内存泄漏,因为Stream.forEach()没有关闭forEach()的机制。我想知道那些Subscription对象是否不会被清除,或者即使小部件本身不会从内存中取出。

最佳答案

是的,会的。
侦听器将一直保持到流结束或发出错误为止。
因此,如果在Stream.forEach内执行build操作,则小部件的任何重建都将添加一个监听器,而不删除前一个监听器。

10-05 20:59
查看更多