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批量插入数据,不需要将所有数据获取并返回。

相关内容

热门资讯

透视线上!德扑之心免费透视,德... 透视线上!德扑之心免费透视,德普之星有透视辅助吗,透明挂教程(有挂揭秘);1、任何德普之星有透视辅助...
透视有挂“佛手在线大菠萝技巧”... 透视有挂“佛手在线大菠萝技巧”透视辅助机制(其实真的是有挂)佛手在线大菠萝技巧辅助器中分为三种模型:...
透视智能ai!德普软件,(德扑... 透视智能ai!德普软件,(德扑之心)果然是有挂,wepoke教程(有挂插件)1、每一步都需要思考,不...
透视辅助“哈糖大菠萝辅助器”透... 透视辅助“哈糖大菠萝辅助器”透视辅助黑科技(一直是真的有挂);1、不需要AI权限,帮助你快速的进行哈...
透视代打!德扑圈有透视吗,德普... 透视代打!德扑圈有透视吗,德普之星的辅助工具介绍,技巧教程(有挂辅助)1、透视代打!德扑圈有透视吗,...
透视教程“佛手大菠萝辅助”透视... 透视教程“佛手大菠萝辅助”透视辅助安装(本来真的是有挂)1、佛手大菠萝辅助透视辅助简单,佛手大菠萝辅...
透视规律“pokemmo脚本最... 透视规律“pokemmo脚本最新版”透视辅助脚本(本来真的是有挂);1、任何pokemmo脚本最新版...
辅助透视!德普之星的辅助工具介... 辅助透视!德普之星的辅助工具介绍,德普之星怎么开辅助,解密教程(有挂详情)1、不需要AI权限,帮助你...
透视辅助!拱趴大菠萝有挂吗,约... 透视辅助!拱趴大菠萝有挂吗,约局吧透视挂下载,详细教程(有挂解密);亲,关键说明,约局吧透视挂下载赛...
透视透视挂!德普之星怎么开辅助... 透视透视挂!德普之星怎么开辅助,德普之星透视软件免费入口官网,科技教程(有挂工具)1、让任何用户在无...