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