(Как) я могу увеличить ограничение квоты LocalStorage в Android WebView - PullRequest
10 голосов
/ 27 марта 2012

Мне нужно увеличить ограничение квоты по умолчанию для LocalStorage в Android WebView. В настоящее время я могу использовать только около 2,5 МБ. При попытке сохранить больше данных поднимается quota_exceeded_err (dom exception 22).

Есть идеи или мне нужно перейти на БД / файловую систему?

Ответы [ 2 ]

7 голосов
/ 28 марта 2012

Мы говорим о HTML5 WebStorageDOCS

Существует множество вопросов по той же теме, только не для Android

Дело в том, что HTML5 WebStorage страдает от различной реализации на разных платформах.
Комбинации настольных и мобильных платформ и браузеров отличаются по размеру квоты памяти (дискового пространства), назначаемой каждому веб-сайту (домену)

И нет, вы не можете увеличивать / уменьшать пространство, выделенное для вашего приложения HTML5, такой опции нет в WebSettings в качестве класса доступа Java для Android WebKit Settings, как и в реализации WebKit HTML5 WebStorage с Теперь.

цитата: http://dev.w3.org/html5/webstorage/#disk-space

Рекомендуется в основном произвольное ограничение в пять мегабайт на источник. Отзывы о реализации приветствуются и будут использоваться для обновления этого предложения в будущем.

Если вам действительно нужно большое пространство в приложении HTML5 (независимо от того, работает ли оно через PhonGap, Titanium, Rhodes или другое ...), я настоятельно рекомендую вам использовать HTML Web SQL Database

Даже если DOCS скажет:

Этот документ был на дорожке Рекомендации W3C, но работа над спецификацией остановлена. Спецификация зашла в тупик: все заинтересованные разработчики использовали один и тот же бэкэнд SQL (Sqlite), но нам нужно несколько независимых реализаций для продолжения пути стандартизации.

Web SQL теперь поддерживается только на устройствах Android (к чему вы стремитесь в этом вопросе), что позволяет вам увеличивать / уменьшать выделение места для ваших данных.

Обратите внимание на соответствующий вопрос:

0 голосов
/ 19 мая 2016

Я просто написал минимальный скрипт для этого: https://github.com/DVLP/localStorageDB

Цель состоит в том, чтобы очень просто использовать пары ключ-значение, как в localStorage, и использовать большой размер IndexedDB и его потенциальное повышение производительности благодаря асинхронности.

Надеюсь, вы найдете это полезным!

...