Android&Firebase|插入数据到Firestore时出现CursorWindow容纳不下行的问题
创始人
2024-08-19 15:00:34
0

此问题通常在向Firestore插入大量数据时发生,因为Android中的CursorWindow缓存区间限制了返回结果的大小,而插入过程要求将所有数据获取并返回,因此如果数据量太大,CursorWindow将无法存储这些数据并抛出此异常。

解决此问题的一种方法是,在插入过程中分批处理数据,即将待插入数据分割成较小的块并一次插入一部分,而不是一次插入所有数据块。下面是示例代码:

// 数据源 List dataList = ...

// 每批数据的大小 int batchSize = 500;

// 分批插入 for (int i = 0; i < dataList.size(); i += batchSize) { int end = Math.min(dataList.size(), i + batchSize); List batch = dataList.subList(i, end);

FirebaseFirestore.getInstance().runTransaction(new Transaction.Function() {
    @Override
    public Void apply(Transaction transaction) throws FirebaseFirestoreException {
        for (Data data : batch) {
            DocumentReference docRef = FirebaseFirestore.getInstance().collection("collection_name").document(data.getId());
            transaction.set(docRef, data);
        }
        return null;
    }
});

}

这样,我们将数据分成了较小的块,并通过Transaction批量插入数据,不需要将所有数据获取并返回。

相关内容

热门资讯

指南开挂"扣点点脚本... 指南开挂"扣点点脚本辅助器"开挂(修改器)辅助软件(有挂头条) >>您好:软件加薇136704302...
往昔有开挂"闲逸碰胡... 往昔有开挂"闲逸碰胡辅助"详细开挂辅助平台有挂方针(总结教程);无需打开直接搜索打开薇:136704...
一向有开挂"雀神挂件... 一向有开挂"雀神挂件价格辅助开挂"开挂(透视)辅助安装(AI教程发现有挂) 了解更多开挂安装加(13...
透视透视!心悦踢辅助软件,广东... 透视透视!心悦踢辅助软件,广东雀神智能插件安装包(透视)开挂辅助工具新2026教程;无需打开直接搜索...
法子辅助"多乐小程序... 大家好,今天小编来为大家解答多乐小程序辅助器免费这个问题咨询软件客服可以免费测试直接加微信(1367...
一向有开挂"心悦填大... 一向有开挂"心悦填大坑辅助"详细开挂辅助软件有挂详情(普及教程);无需打开直接搜索薇:1367043...
透视苹果版!微乐自建房脚本使用... 较多好评“微乐万能挂官网”开挂(透视)辅助教程 了解更多开挂安装加(136704302)微信号是一款...
总结开挂"广东雀神辅... 您好:这款广东雀神辅助器透视游戏是可以开挂的,确实是有挂的,很多玩家在这款广东雀神辅助器透视游戏中打...
固有有开挂"老铁十三... 固有有开挂"老铁十三水安装工具"开挂(透视)辅助软件(德州论坛揭秘有挂)>>您好:软件加薇13670...
往昔有辅助"功夫川小... 往昔有辅助"功夫川小程序辅助"详细开挂辅助工具有挂方略(可靠技巧);打开点击测试直接进入微信(136...