较新版本的Android(> 2.2)包括v8 javascript引擎,而旧版本只有JSC.但是,根据http://blogs.nitobi.com/joe/2011/01/14/android-your-js-engine-is-not-always-v8/,运行时使用的javascript引擎似乎依赖于build-time(JS_ENGINE)中出现的环境变量,以及设备的硬件规格:
# The default / alternative engine depends on the device class.
# On devices with a lot of memory (e.g. Passion/Sholes), the
# default is V8. On everything else, the only choice is JSC.
Run Code Online (Sandbox Code Playgroud)
我的问题是:有什么方法可以确定在网页,嵌入式WebView或应用程序中使用哪个javascript引擎?
如果答案是否定的,那么有人知道Android模拟器使用了哪个JS引擎吗?
我问这个的原因是因为这个问题:http://code.google.com/p/android/issues/detail?id = 12987
基本上,可能是JSC中的javascript-to-java桥在Android 2.3.X上被破坏了,这会影响我正在尝试编写的应用程序.我在我的模拟器上看到了JNI深处的某个段错误,但是我测试过的少数几个物理设备上没有.我试图确定这是否只是一个模拟器,只有JSC的东西,或者完全不同的东西.