我在移动网络上工作,有时我会显示一个非常大的列表视图(我正在使用 JQM)。
我注意到从 Javascript 中返回的 JSON 生成大 DOM 需要几秒钟的时间。
您认为在服务器上生成 HTML 并从中下载压缩比使用 Javascript 通过 JSON 数组迭代更好吗?
编辑:
最后我一次性下载了所有请求的数据,JSON 压缩不会太重。然后我使用相应的数据块进行分页重建列表视图,我正在按页面重建 25 个列表项,但应用程序的响应速度不快。
我在移动网络上工作,有时我会显示一个非常大的列表视图(我正在使用 JQM)。
我注意到从 Javascript 中返回的 JSON 生成大 DOM 需要几秒钟的时间。
您认为在服务器上生成 HTML 并从中下载压缩比使用 Javascript 通过 JSON 数组迭代更好吗?
编辑:
最后我一次性下载了所有请求的数据,JSON 压缩不会太重。然后我使用相应的数据块进行分页重建列表视图,我正在按页面重建 25 个列表项,但应用程序的响应速度不快。
最佳实践方法是使用分页而不是从服务器发送整个 JSON 字符串,而是将其拆分为几个“页面”。
infinite scroll
您的应用程序会想到类似的东西。
取决于您用来生成 HTML 的 JS。您应该使用 innerHTML 和数组进行字符串连接。您也可以尝试分页,但使用 JQM 可能会很棘手。此外,JQM 通常很慢。
您要发回多少数据以及要插入多少 DOM 节点?
您发送的 JSON 和您要发送的 HTML 之间的大小差异是多少?
我会测试这两种方法的大小和响应能力,然后做出选择。
您面临的挑战之一是应用程序与无线电使用的响应能力(更长的无线电使用可能比具有许多睡眠/唤醒/睡眠周期的聊天连接更好地延长电池寿命)
所以我还要看看一次性发送多少数据是有意义的,即有多少数据是可见的和使用的?