javascript - 在浏览器中缓存对象时多少内存太多?

标签 javascript json memory-management browser

我在前端工程方面相当缺乏经验,所以如果这显得幼稚或过于宽泛,我深表歉意。

我的应用通过 AJAX 获取 4k JSON 对象。为了防止重复的 HTTP 请求,返回的 JSON 缓存在全局窗口范围内的对象中。关于这类事情有什么最佳实践吗?

我意识到缓存大小的合理限制将取决于浏览器、操作系统、硬件和其他因素。我正在寻找降低的 UI 响应能力。

不过,有什么好的经验法则吗?

最佳答案

这在很大程度上取决于您的任务和您希望拥有的大部分用户。

如果你有不错的 3D 游戏,那么即使 500MB 也可以(但不是全部用于 JSON 缓存)

现代浏览器从一开始就需要 50-100MB 的内存。 因此,在大多数情况下,50MB 用于所有 javascript 对象应该没问题,我认为 50MB 足以用于任何简单(twitter)/普通(gmail)网络应用程序。

此外,RAM 现在每 GB 的成本为 5-7 美元。

请记住,4k 的字符串化 JSON 将变成 10-50kb 的对象,即使是字符串形式也将花费近 8k(如果您使用 utf-8 进行 http 传输),因为 js 引擎使用 UTF-16 进行内部传输字符串表示。

关于javascript - 在浏览器中缓存对象时多少内存太多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536030/

相关文章:

javascript - 如何将javascript变量传递为json格式

python - 如何使用 Requests 和 JSON 打印变量

objective-c - 您应该在使用委托(delegate)的类中还是在类本身中将委托(delegate)设置为 nil

ios - Objective-C 内存管理问题

javascript - 如何手动使用 Protractor ExpectedCondition?

javascript - 如何禁用网页中Office Web Component图表控件的右键上下文菜单?

javascript - 在 tableview 单元格中突出显示 uiwebview 文本

java - Jackson 1.8.5 (for JSON) 不反序列化 : "no such class found"

javascript - 需要将 JSON 解释为变量

java - 使用 Windows 的 NetBeans 中忽略的最大内存大小