离子存储和原生存储的区别?
Posted
技术标签:
【中文标题】离子存储和原生存储的区别?【英文标题】:Difference between Ionic Storage and Native Storage? 【发布时间】:2018-12-24 22:24:40 【问题描述】:我实际上在使用离子存储。我听说了 Ionic Native Storage 我不知道它们之间的确切区别。首选使用哪一个?
【问题讨论】:
【参考方案1】:它们的用途基本相同,都使用键/值来存储项目,但我认为离子存储更好,我会告诉你为什么。
Native Storage 需要并且只能与安装的插件一起使用,因此如果没有插件或者它是 web 应用程序,用户将无法使用该存储。使用它是因为 ios 可能会在内存不足时删除存储的数据。
Ionic Storage 以不同的方式工作,您可以将值保存在 IndexedDB 中,这是浏览器的一种存储类型,但是如果您安装了 SQLite 插件,它会自动优先将您的数据保存在 SQLite 中,所以iOS内存不足时不会丢失。
所以当使用 SQLite 时,如果在作为 web 应用程序运行的浏览器中,用户仍然可以保存数据,因为由于 web 中没有插件,它将使用 IndexedDB,如果没有 IndexedDB,那么它将使用 localStorage .
您无需学习 SQLite 即可使用插件进行保存,Ionic Storage 将为您完成所有工作,您只需像使用原生脚本一样使用键/值或本地存储。
哪一个更受欢迎?这完全取决于您,但我看到了 Ionic Storage 的更多优势。
查看Ionic Storage Docs。
希望这会有所帮助。
【讨论】:
【参考方案2】:主要区别在于: Native Storage 是一个 Cordova 插件,因此只能在设备中使用。它比设备上的 Ionic Storage 快一点,因为它使用设备的原生函数来存储 Key/Value 数据。
Ionic Storage 不是 Cordova 插件,是一个 javascript 库,可以在设备和导航器中使用。
它们之间没有太大区别,我更喜欢Ionic Storage,因为我可以在开发过程中在浏览器上实现更快的测试。
【讨论】:
【参考方案3】:现在我使用 ionic 4,我遇到了 @ionic/storage 模块的令人不快的延迟,但在我切换到 本机存储 后,我得到了更好的性能.顺便说一句,您仍然可以在使用 ionic cordova run browser 命令而不是 ionic serve 命令的浏览器进行测试时使用它。
所以我想说的是,原生插件总是在性能方面获胜。
最好的祝福
【讨论】:
谢谢你...毕竟这么久了。是的,自从 ionic 4 到来后,我就开始使用本机存储了以上是关于离子存储和原生存储的区别?的主要内容,如果未能解决你的问题,请参考以下文章