繁体   English   中英

Firebase .on()侦听器导致Cordova iOS应用程序崩溃

[英]Firebase .on() listener causes Cordova iOS app crash

我制作了一个空白的全新Cordova应用程序(-v 6.3.1),并为iOS构建。 该应用程序不执行以下操作:

var ref = new Firebase('url-to-firebase-leaf-node-with-4000-children');
ref.on("child_added", function(child, prev) {
    console.log("here");
});

部署到iPhone。 应用程序崩溃,Xcode引用以下内容:

WebThread (7): EXC_BAD_ACCESS (code=1, address=0xbbadbeef) bmalloc::VMHeap::grow()内部的WebThread (7): EXC_BAD_ACCESS (code=1, address=0xbbadbeef) bmalloc::VMHeap::grow()

如果我这样做:

var ref = new Firebase('url-to-firebase-leaf-node-with-100-children'); 则该应用不会崩溃。

显然这是一个内存问题,但是如何解决? 从4,000个子节点中提取了1.5Mb的数据,我想不到这应该会耗尽所有可用内存。 请避免提出不要提取所有数据的建议-该应用程序需要所有数据,并且可以在Android上正常运行。

本机崩溃非常具有表现力。 该应用程序内存不足。

Firebase SDK使用您的订阅构建数据库的内存镜像。 即使您的child_added回调对子快照不执行任何操作,此内部树child_added将内存用于节点下的所有数据

因此,如果适合您的域模型,则应考虑对订阅使用限制,引入分页甚至重组数据库。

在添加child_added侦听器之前,请确保已缓存了所有数据(通过上述分页技术或其他方式)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM