android2.3上用WebView组件js和java相互调用报错

07-01 16:02:12.922: W/KeyCharacterMap(1901): No keyboard for id 0
07-01 16:02:12.952: W/KeyCharacterMap(1901): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
07-01 16:02:22.002: W/dalvikvm(1901): JNI WARNING: jarray 0x40550938 points to non-array object (Ljava/lang/String;)
07-01 16:02:22.114: I/dalvikvm(1901): "WebViewCoreThread" prio=5 tid=9 NATIVE
07-01 16:02:22.134: I/dalvikvm(1901):   | group="main" sCount=0 dsCount=0 obj=0x4051deb8 self=0x2a4b88
07-01 16:02:22.134: I/dalvikvm(1901):   | sysTid=1909 nice=0 sched=0/0 cgrp=default handle=2772160
07-01 16:02:22.182: I/dalvikvm(1901):   | schedstat=( 2432291748 2800672977 219 )
07-01 16:02:22.182: I/dalvikvm(1901):   at android.webkit.WebViewCore.nativeTouchUp(Native Method)
07-01 16:02:22.182: I/dalvikvm(1901):   at android.webkit.WebViewCore.nativeTouchUp(Native Method)
07-01 16:02:22.182: I/dalvikvm(1901):   at android.webkit.WebViewCore.access$3300(WebViewCore.java:53)
07-01 16:02:22.182: I/dalvikvm(1901):   at android.webkit.WebViewCore$EventHub$1.handleMessage(WebViewCore.java:1158)
07-01 16:02:22.241: I/dalvikvm(1901):   at android.os.Handler.dispatchMessage(Handler.java:99)
07-01 16:02:22.241: I/dalvikvm(1901):   at android.os.Looper.loop(Looper.java:123)
07-01 16:02:22.241: I/dalvikvm(1901):   at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:629)
07-01 16:02:22.241: I/dalvikvm(1901):   at java.lang.Thread.run(Thread.java:1019)
07-01 16:02:22.241: E/dalvikvm(1901): VM aborting

Android2.3中Webkit引擎导致VM崩溃的问题 


 
Android2.2,2.3,2.3.3都存在的一个bug,在这里有详细的描述。 
http://code.google.com/p/android/issues/detail?id=12987 
问题的核心在于这样一句话:JNI WARNING: jarray 0x4074f6e0 points to non-array object (Ljava/lang/String;) 
也就是进行JNI调用时,把一个Java中的String对象当数组来访问了,最终导致虚拟机崩溃。 

基本算是一个比较严重的BUG,没办法解决,所以如果说用WebView组件想在js和java之间相互调用的话就没办法适应所有机型,所以做android原生应用程序时最好不要用WebView组件,否则2.3系统会直接崩溃掉。


这个问题纠结死我了,快!!!!!!!!!!!!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值