簡體   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