运行多个Firestore querySnapshots时内存不足。 “由于内存问题而终止”

时间:2019-05-16 12:20:28

标签: swift firebase memory google-cloud-firestore

我有一段代码,其中有一个for循环来比较2个数组。当我使用模拟器时,它的运行速度确实达到了预期的速度,但是在我的iPhone 7上,内存达到了极限,我的应用程序崩溃了。

这是我的数组和代码。

var testTable = ["active ingredient", "titanium dioxide 3.1 %other ingredients", "aqua", "water", "cyclopentasiloxane", "cyclohexasiloxane dimethicone", "vinyl dimethicone crosspolymer", "methyl trimethicone", "peg-10 dimethicone", "alcohol", "dimethicone"]

加载数据的功能。

func loadData(){
        for i in 0..<testTable.count {

        let db = Firestore.firestore()

        db.collection("Ingredients").whereField("compName", arrayContains: testTable[i] ).getDocuments(){
            querySnapshot, error in
            if let error = error {
                print("\(error.localizedDescription)")
            }else if let querySnapshot = querySnapshot {
                if (querySnapshot.isEmpty == false){

                    let res = querySnapshot.documents.compactMap({Ingredients(dictionary: $0.data())})
                    self.ingredientsArray.append(contentsOf:res)
                    print(self.testTable[i])
                    DispatchQueue.main.async {
                        self.tableView.reloadData()

                    }
                }
            }

        }

    }
}

我对Cloud Functions非常满意,但是我对Javascript / Typescript不熟悉。有没有办法使用云功能来做到这一点?使用诺言之类的?预先感谢。

更新1.0

我只是在3种不同的设备iPhone 6 / 6s / Xs max上测试了我的应用程序,一切正常且快速。内存的使用确实很少,我无法理解iPhone 7会发生什么。

0 个答案:

没有答案