Android WebView多线程和本地缓存以及SVG

  1. 支持LocalStorage数据存储

webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setAppCacheMaxSize(1024*1024*25);
String appCachePath = ctx.getApplicationContext().getCacheDir().getAbsolutePath();
webview.getSettings().setAppCachePath(appCachePath);
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setAppCacheEnabled(true);

2.支持多线程(Wokers与ShareWorker API)

settings.setAllowFileAccess(true);
settings.setAppCacheEnabled(true);
settings.setAllowContentAccess(true);
settings.setAllowFileAccessFromFileURLs(true); //如果是
<script type="text/javascript" >
if(!!window.Worker&& typeof(Worker)!=="undefined")
   {
      window.worker = new Worker("./workers/workers.js");
      window.worker.onmessage = function (event)
      {
          console.dir(event);
          document.querySelector('#span_title').innerHtml = event;
       };
   }else{
      alert('不支持 Web Worker');
   }
   window..onbeforeunload = function()
   {
      window.worker.terminate();
   }
</script>
<!DOCTYPE HTML>
<title>Shared workers: demo 1</title>
<pre id="log">Log:</pre>
<script>
  var worker = new SharedWorker('test.js');
  var log = document.getElementById('log');
  worker.port.onmessage = function(e) { // note: not worker.onmessage!
    log.textContent += '\n' + e.data;
  }
</script>

################################################
Here is the JavaScript worker:
onconnect = function(e) {
  var port = e.ports[0];
  port.postMessage('Hello World!');
}

3.支持SVG

不需要开启任何支持,本身就支持。

你可能感兴趣的:(localStorage,worker,sharedworker)