Question

I need to increase the default quota limit of the LocalStorage in a Android WebView. Currently I can only use around 2.5MB. When trying to store more data, a quota_exceeded_err (dom exception 22) is raised.

Any ideas or do I have to switch to db/file system ?

Was it helpful?

Solution

We're talking about HTML5 WebStorageDOCS

There is plenty of question on the same theme, only not Android-specific

Fact is, that HTML5 WebStorage suffers from different implementation on different platforms.
Desktop and Mobile Platforms & Browsers combinations differs in size of memory (disk space) quota assigned to each website (domain)

And no, you cannot increase/decrease space allocated for your HTML5 application, there is no such option in WebSettings as Android WebKit Settings Java accessor class, neither in WebKit implementation of HTML5 WebStorage as of now.

citation: http://dev.w3.org/html5/webstorage/#disk-space

A mostly arbitrary limit of five megabytes per origin is recommended. Implementation feedback is welcome and will be used to update this suggestion in the future.

If you really need a large space in your HTML5 Application (no matter if it runs through PhonGap, Titanium, Rhodes or another...), I would strictly recommend you to use HTML Web SQL Database

Even if the DOCS say:

This document was on the W3C Recommendation track but specification work has stopped. The specification reached an impasse: all interested implementors have used the same SQL backend (Sqlite), but we need multiple independent implementations to proceed along a standardisation path.

The Web SQL is now only supported way on Android devices (which you do aim in this question) which allows you to increase/decrease space allocation for your data.

Please note the related question:

OTHER TIPS

I just wrote a minimal script for that: https://github.com/DVLP/localStorageDB

The goal is to have a very simple usage with key - value pairs like in localStorage, and take advantage of large size of IndexedDB and it's potential performance gain thanks to it being asynchronous.

Hope you'll find this useful!

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top