簡単なプログラムで、Androidで、Web Storage (localStorage)の最大容量サイズを調べてみました。どのくらいまでのデータを保存できるのか、興味があったのです。

その結果、Android 2.3の標準ブラウザで確認したところ、最大2.4MBということが分かりました。試しに、iPhone(iOS 4.3)やGoogle Chromeでも試したのですが、同じ結果がでました。

確認の方法は、100KBずつlocalStorageにダミーデータを書き込んでいって、どこまで行けるかを確かめました。何度か試しましたが、最大2400KB(2.4MB)を越えたところで、エラーが出るのを確認しました。

http://aoikujira.com/demo/sozai/20120607-MW-QUOTA_EXCEEDED_ERR.png

Glaxy SとiPhone4で試してみたのですが、ストレージ容量が限界に近づくにつれ、ストレージへの書き込み速度が、かなり遅くなるのを感じました。

以下、念のため確認プログラムです。

<button onclick="test()">test</button>
<div id="a"></div>
<script type="text/javascript">
  var bytes = 0;
  var idx = 0;
  var a = document.getElementById("a");
  function test() {
    var s = "", tmp = "";
    for (var i = 0; i < 1024; i++) tmp += "@";
    for (var i = 0; i < 100; i++) {
      s += tmp;
    }
    localStorage["test" + idx] = s;
    idx++;
    bytes += 100;
    a.innerHTML = "NOW=" + bytes + "KB";
  }
</script>