Flutter:Cloud_Firestore给出了错误" FlutterView.send调用了一个独立的视图,channel = plugins.flutter.io / cloud_firestore"

时间:2018-05-14 23:04:48

标签: memory-leaks google-cloud-firestore flutter

每次FireStore发生变化时,我都会收到此错误:D/FlutterNativeView(21656): FlutterView.send called on a detached view, channel=plugins.flutter.io/cloud_firestore

它发生了100次,所以我有某种内存泄漏,但我没有得到关于这种情况发生的详细信息。

我正在使用一种名为StreamBuilder的东西,我怀疑可能是罪魁祸首。也许当我离开页面时,StreamBuilder可能没有被妥善处理?我应该在dispose()方法中手动处理这些吗?

我有这个:

StreamBuilder<QuerySnapshot> myList = new StreamBuilder<QuerySnapshot>(
  stream: myStream,
  builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot){
});

我认为当我离开页面时,这会不断更新...但无法弄清楚如何正确处理它。

我也可能完全错了,它可能来自其他地方,但我真的认为是这样。

有人有什么想法吗?我无法发布所有代码,因为我无法弄清楚它的来源。

1 个答案:

答案 0 :(得分:0)

我整天都在把头撞在桌子上,试图找出同一件事;但是,在我的特殊情况下,如果是用户错误-我不小心放了一条命令,以在写入数据库的迭代器内部弹出页面。因此,每次我写到数据库时,它也会弹出页面,同时还试图更新视图...因此,就是错误。

对于您而言可能并不相同,但是请仔细查看所有数据库写入,以查看您是否正在做一些颤动的事情,而这在数据库写入中间是没有意义的。