Есть ли способ уменьшить использование памяти на клиенте при преобразовании большого объекта javascript в строку, используя JSON.stringify?
Я ищу что-то, что решает вопрос ниже, но для javascript на клиенте.
Запись JSON в поток без буферизации строки в памяти
Когда я пытаюсь выполнить простой JSON.stringify (big_object), он быстро занимает всю оперативную память и зависаетмой компьютер.
Та же проблема использования памяти возникает, когда я пытаюсь записать большой объект в indexedDB, как подробно описано здесь.
Пример утечки памяти в indexedDB вstore.add (см. пример при редактировании)
Эти два вопроса трехлетней давности, похоже, имеют одну и ту же проблему, но я не могу найти решение, которое когда-либо было найдено.
Как я могу создать действительно длинную строку с помощью IndexedDB без сбоя браузера?
Оптимизация JSON.stringify
Большой вопрос заключается в следующем:яВ автономном веб-приложении, в котором пользователь может накапливать большой объем данных в базе данных indexedDB, процесс его резервного копирования на жесткий диск, по-видимому, заключается в записи данных в объект, преобразовании объекта в строку, строка в большой двоичный объект и загрузите его на диск.А чтобы загрузить файл и записать его обратно в базу данных, выполните обратное.Однако JSON.stringify и JSON.parse на большом объекте захватывают всю память и вызывают сбой браузера или всего компьютера.
Эта ссылка, по-видимому, указывает на то, что проблема с большими двоичными объектами в indexedDB была решена, но этоне кажется, чтобы решить эту проблему, не так ли?Объект не может быть напрямую преобразован в BLOB-объект, не так ли?И, если это так, может ли организованный объект быть восстановлен из большого двоичного объекта?
Неустойчивые операции хранения больших файлов IndexedDB приводят к тому, что IndexedDB потребляет большой объем памяти, который не освобождается.1034 * Помимо того, что пользователь загружает и загружает несколько файлов для резервного копирования и восстановления своей работы, сохраненной в базе данных, есть ли другой способ сделать это, когда все это на клиенте и в автономном режиме?
Спасибо за любое направление, которое вы можете предоставить.