IndexedDB在Chrome应用中的持久性有多强?

8

使用IndexedDB作为存储开发离线Chrome应用程序,并有以下问题:

1.除了用户在我的应用程序中打开控制台并清除indexedDB之外,我还需要担心IndexedDB数据丢失的其他方式吗?

2.由于Chrome应用程序现在可以使用cordova在iOS和Android上运行,因此unlimitedStorage和FileSystem API是否也适用于这些平台?因此,我可以使用它们来存储我的indexeddb并使用文件系统来备份indexeddb。

2个回答

2
关于IndexedDB
  1. 如果您的应用程序超过了限制大小,数据将会“丢失”。(我不确定unlimitedStorage是否仅适用于FS还是也适用于IDB - 但无论如何,磁盘也有限制)。

  2. Chrome应用程序可以在设备间同步,但IndexedDB存储不行。chrome.storage.sync可以(但更像是localStorage替代品而非IndexedDB替代品)。

  3. 我现在似乎找不到详细信息,但我记得听说过一种罕见的错误,可能导致某些应用程序(只有在经过特定类型的升级时)潜在地丢失IndexedDB数据。虽然这并不是常态,所以不必担心。但为了完整起见,这是另一种可能丢失数据的方式。

关于使用Cordova的移动Chrome应用程序文件系统:
我们支持 chrome.fileSystem(以及 HTML5 fileSystem),但是在 iOS WebView 和 Android WebView KitKat 之前的版本中不支持本地 IndexedDB。您可以安装一个 cordova插件 来使其工作(我自己也使用过),但我不确定备份和恢复数据库本身会有多可靠/容易(您为什么要这样做?)。
编辑:Chrome 移动应用程序也支持 chrome.storage.local,但尚不支持同步。

0
如果您在 Chrome 应用程序或扩展的清单文件中请求 unlimitedStorage 权限,存储空间将与硬盘上的可用空间一样大。在这种情况下,您的应用程序不会超过限制大小。
请参阅Chrome 应用程序无限存储

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接