我正在创建一个Chrome扩展程序,该扩展程序需要存储大量数据。我已经设置了unlimitedStorage
权限,并且通过调用chrome.storage.local.set
成功地存储了信息。但是,我无法拨打电话chrome.storage.local.get
。当我像chrome.storage.local.get(null, () => {})
这样简单的通话时,Chrome崩溃。
我的问题似乎与chrome.storage.local.get limit相似,只是该问题涉及的数据量要少得多,而且真是偶然。当我致电chrome.storage.local.getBytesInUse(null, i => console.log(i))
时,我得到176031461
的结果。 (不可否认,180 MB超出了Chrome扩展程序通常应使用的数量,但是此扩展程序将在我自己的计算机上运行。)
我希望能够将所有这些数据保存到JSON文件中,但是要做到这一点,似乎需要先将其带入内存中,唯一的方法是通过{{1} }。我正在尝试使用Chrome Extension: Local Storage, how to export中描述的方法来下载数据,但它甚至没有涉及回调函数。我不确定是什么原因导致它崩溃,并且我不认为这是内存限制,因为我已按照Max memory usage of a chrome process (tab) & how do I increase it?上的说明将Chrome的最大内存增加到4 GB。
一种可能的解决方案是将第一个参数设置为chrome.storage.local.get
以外的其他参数,然后分块下载数据,但是如果不需要的话,我宁愿不这样做。
我的问题是: