ios - 当记录数为 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 (尝试过最新以及相同的结果)
解决方案
您能解释一下为什么要尝试将 50k 记录加载到内存中吗?这通常是糟糕的设计,在给定的时间,应用程序中不可能需要 50k 条记录。您应该始终查询您感兴趣的记录子集。如果您想在列表中显示所有 50k,您仍然应该对结果进行分页并显示它们。
该行为取决于设备上的可用内存,以及 iOS 的内存管理。
此外,加载如此多的记录会导致 iOS 终止后台应用程序,从而导致用户体验不佳。
推荐阅读
- javascript - 动画:随机数过渡到文本
- kubernetes - Kubernetes 滚动部署:仅在没有容器运行时终止 pod
- string - 在 Clojure 中修剪不可打印字符的一般方法
- ios - OCMock:使用 OCMPartialMock 时,OCMVerify 次数得到错误计数
- form-recognizer - 表单识别器中的 TIFF 图像支持
- dataframe - 如何使用 Seq(..).toDF(..) 语法创建超过 22 列的 spark 数据框
- javascript - javascript 新闻提要做出反应
- javascript - 使用 axios 的动态、多个 API 调用
- javascript - 找不到变量导航
- python - 无法使用 beautifulsoup 提取嵌套在另一个标签内的标签