1

我要做的是保存(2GB +-)数据以供离线使用。我为我的 Progressive Web 应用程序使用 Dexie(indexeddb 的包装器)来执行此操作。

我的问题是我使用了我所有的笔记本电脑/android/IOS 设备的内存(RAM)。

有没有办法让渐进式网络应用程序在不耗尽所有内存的情况下保存大量数据?

-localstorage 我认为有限制,并且还依赖于内存还是我错了?- 文件系统 API 可能吗?-LargeLocalStorage 可能吗?( https://github.com/tantaman/LargeLocalStorage )在此处输入图像描述在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

我不建议使用 LargeLocalStorage,因为这是一个使用旧 API 的旧项目,而这些旧 API 目前还没有使用(例如 Safari 中的 WebSQL)。

保存大文件的解决方案

我确实建议您继续使用 IndexedDB,因为它得到了广泛的支持(超过了仅在 Chrome 中支持的 Filesystem API)。但是,每个浏览器可能会限制您可以存储每个源(而不是每个 api,这可以帮助您)的数据。例如,在 Chrome 中,您的设备可用空间最多可达 6%。在我附加的链接中,您可以找到更多详细信息。当然,您可以使用StorageQuota API来详细了解您还剩多少空间。

检查内存使用情况

如果您的意思是将内存作为 RAM 而不是 HDD/SSD - 我建议您使用Chrome 开发工具检查设备中的内存。您可以使用工作站上的 Chrome检查设备上的 Chrome。之后,分析你的记忆,并尝试看看是什么在使用它

于 2020-04-09T14:17:00.740 回答