首页 > 解决方案 > 当记录数为 50k 时,带有过滤器的 IBM JsonStore FindAll 没有过滤器在 IOS 中不起作用

问题描述

嗨,我有一个启用了加密的 JSONSTORE,我有一个名为 Assets 的商店,我存储多达 50k+ 条记录,我尝试使用 JSONStore 中的过滤器选项检索所有记录的唯一值,它在 android 设备中运行良好,但是当它来到 IOS,API 继续加载,没有任何结果/错误。 WL.JSONStore.get("Assets").findAll({filter : ["ASSETID"]}) WL.JSONStore.get("Assets").findAll() 我正在使用 Cordova IOS -> 4.5.4 JSONStore 插件 -> 8.0.2019121604 (尝试过最新以及相同的结果)

标签: iosibm-mobilefirstjsonstore

解决方案


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

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

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


推荐阅读