Javascript 内存满时删除最旧的chrome.storage.sync?
我有一个chrome扩展,它将唯一数据保存在Javascript 内存满时删除最旧的chrome.storage.sync?,javascript,arrays,google-chrome,google-chrome-extension,google-chrome-storage,Javascript,Arrays,Google Chrome,Google Chrome Extension,Google Chrome Storage,我有一个chrome扩展,它将唯一数据保存在chrome.storage.sync.set中。问题是chrome.storage内存不足时(102KB,最大存储项目数为512)。该怎么办 我想在数组中添加每个键,当我的chrome.storage完全开始使用数组擦除存储中的值时,但我不想占用太多内存。有更简单的方法吗?我想这取决于您的扩展。首先,内存中的数组可能不会停留很长时间。除非您的扩展是持久的,否则后台脚本将不会保持活动状态。它将根据需要进行加载和卸载。你能改用本地存储区吗?我不认为它有相
chrome.storage.sync.set
中。问题是chrome.storage
内存不足时(102KB,最大存储项目数为512)。该怎么办
我想在数组中添加每个
键
,当我的chrome.storage
完全开始使用数组擦除存储
中的值时,但我不想占用太多内存。有更简单的方法吗?我想这取决于您的扩展。首先,内存中的数组可能不会停留很长时间。除非您的扩展是持久的,否则后台脚本将不会保持活动状态。它将根据需要进行加载和卸载。你能改用本地存储区吗?我不认为它有相同的限制。假设键名很短,您的方法很好。您可以使用LZString库进一步压缩它。另一种方法是向每个条目添加一个包含Date.now()的时间戳字段@扎克,问题是关于chrome.storage.sync的配额限制,所以你的评论是不相关的。@wOxxOm正如我在评论中所说,如果扩展不是持久的,在数组中保存值可能不起作用。不确定这有什么关系。@扎克,听起来你好像认为数组将保留在后台脚本中。虽然这会让你的评论变得相关,但这种方法在现实生活中不起作用,因为在现实生活中,浏览器/计算机可以重新启动。这就是为什么我猜测作者将数组存储在存储器中的原因,这是数组方法唯一正确的实现,我猜这取决于您的扩展。首先,内存中的数组可能不会停留很长时间。除非您的扩展是持久的,否则后台脚本将不会保持活动状态。它将根据需要进行加载和卸载。你能改用本地存储区吗?我不认为它有相同的限制。假设键名很短,您的方法很好。您可以使用LZString库进一步压缩它。另一种方法是向每个条目添加一个包含Date.now()的时间戳字段@扎克,问题是关于chrome.storage.sync的配额限制,所以你的评论是不相关的。@wOxxOm正如我在评论中所说,如果扩展不是持久的,在数组中保存值可能不起作用。不确定这有什么关系。@扎克,听起来你好像认为数组将保留在后台脚本中。虽然这会让你的评论变得相关,但这种方法在现实生活中不起作用,因为在现实生活中,浏览器/计算机可以重新启动。这就是为什么我猜测作者将数组存储在存储器中,这是数组方法唯一正确的实现。