I'm trying to learn something about JavaScript threading. And from a tutorial I learned about HTML5 API web worker. This API enables JavaScript multi-threading. So I start to figure out how and where can I use this feature.
Form http://caniuse.com/#search=worker
I find this API is only supported in lower version of Android browser. It is unavailable in Android 2.2 and later.
Is this result correct? If it is, is it because of the performance consideration?
On which version will this API be available?
What is a Web Worker? When executing scripts in an HTML page, the page becomes unresponsive until the script is finished. A web worker is a JavaScript that runs in the background, independently of other scripts, without affecting the performance of the page.
Worker ? Internet Explorer 10, Firefox, Chrome, Safari and Opera support Web workers.
Web Workers have changed all of that by bringing multi-threading to Web applications. This is particularly useful for mobile Web applications where most of the application logic is client-side. In this tutorial, you will learn how to work with Web Workers and discover which tasks are most appropriate for them.
Limitations Of Web WorkersA worker can't directly manipulate the DOM and has limited access to methods and properties of the window object. A worker can not be run directly from the filesystem. It can only be run via a server.
from config.h
of Android 2.2.
commit 68698168e7547cc10660828f1fb82be7a8efa845
Author: Steve Block
Date: Wed Mar 17 14:37:19 2010 +0000
Disable workers
This is because V8 on Android does not have the required locking. Also disables channel messaging, which is used only with workers.
Bug: 2522239
Change-Id: I6cb91b4048c7e1a0351e422561625397a2e98986
via http://code.google.com/p/android/issues/detail?id=10004#c7
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With