当记录计数为50k时,IBM JsonStore FindAll(带筛选器,不带筛选器)在IOS中不工作

当记录计数为50k时,IBM JsonStore FindAll(带筛选器,不带筛选器)在IOS中不工作,ios,ibm-mobilefirst,jsonstore,Ios,Ibm Mobilefirst,Jsonstore,您好,我有一个启用了加密功能的JSONSTORE,我有一个名为Assets的存储,我存储了多达50k+条记录,我尝试使用JSONSTORE中的Filter选项检索所有记录的唯一值,它在android设备中运行得非常好,但是当涉及到IOS时,API会继续加载,没有任何结果/错误。 WL.JSONStore.get(“资产”).findAll({filter:[“ASSETID”]}) WL.JSONStore.get(“资产”).findAll() 我正在使用Cordova IOS->4.5.

您好,我有一个启用了加密功能的JSONSTORE,我有一个名为Assets的存储,我存储了多达50k+条记录,我尝试使用JSONSTORE中的Filter选项检索所有记录的唯一值,它在android设备中运行得非常好,但是当涉及到IOS时,API会继续加载,没有任何结果/错误。

WL.JSONStore.get(“资产”).findAll({filter:[“ASSETID”]})
WL.JSONStore.get(“资产”).findAll()
我正在使用Cordova IOS->4.5.4
JSONStore Plugin->8.0.2019121604(尝试了最新版本,结果也一样)

您能解释一下为什么要将50k条记录加载到内存中吗?这通常是糟糕的设计,在给定的时间内,应用程序中不可能需要50k条记录。您应该始终查询您感兴趣的记录子集。 如果要在列表中显示所有50k,仍然应该对结果进行分页并显示它们

该行为取决于设备上可用的内存,以及iOS的内存管理


此外,加载如此多的记录将导致iOS终止后台应用程序,从而导致用户体验不佳

Android和iOS有不同的内存管理方案(完全由操作系统管理)。它在小型设备上运行良好吗?可能是20 K,甚至高达50 K。对不起,我没有试过。它会给你一个机会shot@VivinK10公里-30秒,20公里-1分钟,30k-1m30sec获取40k本身的数据它几乎5分钟都没有返回任何结果Hi未得出结论请询问解释我们没有尝试加载整个jsonstore集合我们只需要所有记录的单个键值对,因为我们将其与DB进行比较,以交叉验证我们拥有的数据所有更新的记录,问题中提到的findAll()API都会将所有记录加载到内存中。