每次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){
});
我认为当我离开页面时,这会不断更新...但无法弄清楚如何正确处理它。
我也可能完全错了,它可能来自其他地方,但我真的认为是这样。
有人有什么想法吗?我无法发布所有代码,因为我无法弄清楚它的来源。
答案 0 :(得分:0)
我整天都在把头撞在桌子上,试图找出同一件事;但是,在我的特殊情况下,如果是用户错误-我不小心放了一条命令,以在写入数据库的迭代器内部弹出页面。因此,每次我写到数据库时,它也会弹出页面,同时还试图更新视图...因此,就是错误。
对于您而言可能并不相同,但是请仔细查看所有数据库写入,以查看您是否正在做一些颤动的事情,而这在数据库写入中间是没有意义的。