Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有一种方法可以让渐进式web应用程序在不耗尽所有内存的情况下保存大量数据?_Javascript_Filesystems_Progressive Web Apps_Indexeddb_Offline Storage - Fatal编程技术网

Javascript 有没有一种方法可以让渐进式web应用程序在不耗尽所有内存的情况下保存大量数据?

Javascript 有没有一种方法可以让渐进式web应用程序在不耗尽所有内存的情况下保存大量数据?,javascript,filesystems,progressive-web-apps,indexeddb,offline-storage,Javascript,Filesystems,Progressive Web Apps,Indexeddb,Offline Storage,我试图做的是保存(2GB+-)的数据以供脱机使用。我使用Dexie(indexeddb的包装器)为我的渐进式web应用程序实现这一点 我的问题是我使用了所有笔记本电脑/android/IOS设备的内存(RAM) 有没有一种方法可以让渐进式web应用程序在不耗尽所有内存的情况下保存大量数据 -我认为本地存储有局限性,也依赖于内存,还是我错了? -文件系统API有可能吗? -有可能吗?() 我不建议使用LargeLocalStorage,因为这是一个使用旧API的旧项目,而这些API现在还没有使用(

我试图做的是保存(2GB+-)的数据以供脱机使用。我使用Dexie(indexeddb的包装器)为我的渐进式web应用程序实现这一点

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

有没有一种方法可以让渐进式web应用程序在不耗尽所有内存的情况下保存大量数据

-我认为本地存储有局限性,也依赖于内存,还是我错了? -文件系统API有可能吗? -有可能吗?()

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

保存大文件的解决方案 ,因为它得到了广泛的支持(超过了仅在Chrome中支持的文件系统API)。 但是,每个浏览器可能会限制您存储每个源站(而不是每个api)的数据。以Chrome为例,它最多占设备可用空间的6%。在我附加的链接中,您可以找到更多详细信息。当然,您可以使用来了解更多有关剩余空间的信息

检查内存使用情况
如果你是说内存是RAM,而不是HDD/SSD,我建议使用检查设备中的内存。您可以在工作站上使用Chrome。然后,试着看看是什么在使用它,我不建议使用LargeLocalStorage,因为这是一个使用旧API的老项目,而这些API现在还没有使用(例如Safari中的WebSQL)

保存大文件的解决方案 ,因为它得到了广泛的支持(超过了仅在Chrome中支持的文件系统API)。 但是,每个浏览器可能会限制您存储每个源站(而不是每个api)的数据。以Chrome为例,它最多占设备可用空间的6%。在我附加的链接中,您可以找到更多详细信息。当然,您可以使用来了解更多有关剩余空间的信息

检查内存使用情况
如果你是说内存是RAM,而不是HDD/SSD,我建议使用检查设备中的内存。您可以在工作站上使用Chrome。然后,试着看看是什么在使用所有这些

我不确定你指的是哪一个。RAM或硬盘驱动器。最好的API确实是IndexedDB和响应缓存,尤其是文件。如果这占用了大量RAM,可能是因为1)您使用的是Chrome 2)内存泄漏(没有撤销ObjectURL,保留对存储在DB中的所有数据的引用…),我不确定您指的是内存泄漏。RAM或硬盘驱动器。最好的API确实是IndexedDB和响应缓存,尤其是文件。如果这会占用大量RAM,可能是因为1)您正在使用Chrome 2)内存泄漏(没有撤销ObjectURL,保留对存储在数据库中的所有数据的引用…)好的,谢谢你,我会继续使用indexeddb,但正如你所说,它占用了我所有的内存/RAM,所有数据都保存在那里,但对于移动设备甚至笔记本电脑来说,数据太多了。有没有办法将数据保存到其他地方我的RamInstaID请描述一下你在内存配置文件中看到了什么?IndexdDB将数据存储在HDD/SSD上,因此这种情况不应该发生在您身上。它几乎都是“内部阵列”,没有参考我的代码。谢谢您添加图像:)。在您添加的图像中,堆似乎只有~10MB。您确定此选项卡正在消耗所有内存吗?您的设备中目前最消耗RAM的进程是什么?他们使用了多少内存?这是chrome中的一个防御标签(我打开了很多其他chrome标签,但这不应该是一个问题)好的,谢谢你,我将继续使用indexeddb,但正如你所说,它占用了我所有的内存/内存,所有数据都保存在那里,但对于移动设备甚至我的笔记本电脑来说,数据太多了。有没有办法将数据保存到其他地方我的RamInstaID请描述一下你在内存配置文件中看到了什么?IndexdDB将数据存储在HDD/SSD上,因此这种情况不应该发生在您身上。它几乎都是“内部阵列”,没有参考我的代码。谢谢您添加图像:)。在您添加的图像中,堆似乎只有~10MB。您确定此选项卡正在消耗所有内存吗?您的设备中目前最消耗RAM的进程是什么?他们使用了多少内存?这是chrome的防御标签(我有很多其他chrome标签打开,但这应该不是问题)