离子本地存储不会持久

时间:2016-04-18 17:30:57

标签: cordova ionic-framework local-storage

我正在使用本地存储来存储Ionic中的数据 我的问题是本地存储不会像在Web上那样持久存在。

在iOS上,本地存储每隔几天就被删除一次,而在Android上则更糟糕,在某些设备上,本地存储就像会话存储一样,在应用关闭时被擦除。

这是我的本地存储服务:

angular.module('app.core')
.factory('localstorage', ['$window', function ($window) {
  return {
    setObject: function (key, value) {
      $window.localStorage[key] = JSON.stringify(value);
    },
    getObject: function (key) {
      return JSON.parse($window.localStorage[key] || null);
    }
  }
}]);

我读过这篇文章:http://www.joshmorony.com/a-summary-of-local-storage-options-for-phonegap-applications/

  

本地存储有点糟糕,并且通常被认为是   不可靠。我认为浏览器本地存储可行   选项,它相当稳定和可靠,但是,它是可能的   对于要擦除的数据,这意味着它适用于很多应用程序   不会是一个很好的选择。

对此有任何解释吗?

1 个答案:

答案 0 :(得分:3)

在探索了离子的本地存储问题后,我可以说一件事:

如果您需要保留数据,

请勿使用

我决定使用 PouchDB 来保持我的数据持久性。

来自Ashteya Biharisingh post

  

应该保留localStorage中保存的数据   即使您关闭应用程序或关闭手机。在大多数情况下这个   会有效,但iOS和Android管理方式存在问题   设备上的localStorage。

     

<强>的iOS
  在iOS 8上,localStorage有时会在内存不足时被清除,你可以在这里阅读。

     

我最近在我正在研究的Ionic应用程序上体验过它。一世   在我的iPhone上收到通知它内存不足的通知   当我打开应用程序时,localStorage是空的。我有另一个应用程序   在我的设备上也使用localStorage,但那个不是   清零。

     

<强>的Android
  我没有在Android上对此进行过广泛的测试,但如果您阅读此主题,您会看到有几个报告称localStorage无法按预期工作。

你可以按照一个很好的指南here