javascript - 使用 localstorage 保存应用程序状态

标签 javascript performance

只是一个关于使用本地存储保存应用程序状态的快速问题。我即将开始开发 iOS 网络应用程序,我想知道这两种模型是否有任何优点或缺点。此外,将应用状态的每个微小变化保存到本地存储是否会对性能造成重大影响?

1号

将整个应用程序状态对象作为 JSON 字符串保存到单个本地存储键值对。

var appstate = {
    string: 'string of text',
    somebool: true,
    someint: 16
}
localStorage.setItem('appState', JSON.stringify(appstate));

2号

将应用状态的每个变量保存到本地存储中它自己的键值对。

var appstate = {
    string: 'string of text',
    somebool: true,
    someint: 16
}
localStorage.setItem('string', appstate.string);
localStorage.setItem('bool', appstate.somebool);
localStorage.setItem('int', appstate.someint);

最佳答案

我认为单独存储值可能更有效的唯一原因是,如果您预计值会相互独立地变化。如果它们分开存储,您可以刷新一组值而不触及另一组值,因此可以更好地处理值过期。例如,如果 somebool 经常更改而其余的不经常更改,则最好将其单独存储。将具有相似到期时间和波动性的数据组合在一起。

否则,如果您只想保存整个应用程序状态,我认为单个字符串就可以了。

关于javascript - 使用 localstorage 保存应用程序状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16173550/

相关文章:

C# 转换异常

python - 长参数列表和性能

c# - list of list优化构建字典

mysql - 我怎样才能使这个 mysql 查询更有效并运行得更快?

javascript - 单击图像后面的元素

javascript - JQuery 以后会不会存在?

javascript - jquery 在回发时损坏

javascript - 如何在 JavaScript 中克隆静态类?

javascript - React Dropzone FileReader - 无法读取文件 : {}

java - PriorityQueue<E> 类的 "public boolean add(E e)"的时间复杂度是多少?