崩溃现象:
webview滚动时,按返回键,系统崩溃,如果不是滚动的时候退出,程序正常。
崩溃log:
10-19 11:49:13.051: E/AndroidRuntime(21972): FATAL EXCEPTION: main10-19 11:49:13.051: E/AndroidRuntime(21972): java.lang.NullPointerException10-19 11:49:13.051: E/AndroidRuntime(21972): at android.webkit.WebView.sendOurVisibleRect(WebView.java:2472)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.webkit.WebView.onScrollChanged(WebView.java:5060)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.scrollTo(View.java:5066)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.webkit.WebView.onOverScrolled(WebView.java:2691)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.overScrollBy(View.java:8931)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.webkit.WebView.computeScroll(WebView.java:3110)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1593)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.draw(View.java:6933)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1677)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.draw(View.java:6933)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.widget.FrameLayout.draw(FrameLayout.java:388)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.buildDrawingCache(View.java:6692)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.onAnimationStart(ViewGroup.java:1290)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1536)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1423)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1675)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.draw(View.java:6933)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.widget.FrameLayout.draw(FrameLayout.java:388)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1677)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1675)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1675)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1675)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1675)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.draw(View.java:6933)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.widget.FrameLayout.draw(FrameLayout.java:388)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.drawChild(ViewGroup.java:1677)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewGroup.dispatchDraw(ViewGroup.java:1404)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.View.draw(View.java:6933)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.widget.FrameLayout.draw(FrameLayout.java:388)10-19 11:49:13.051: E/AndroidRuntime(21972): at com.android.internal.policy.impl.PhoneWindow$DecorView.draw(PhoneWindow.java:1950)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewRoot.draw(ViewRoot.java:1563)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewRoot.performTraversals(ViewRoot.java:1299)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.view.ViewRoot.handleMessage(ViewRoot.java:1906)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.os.Handler.dispatchMessage(Handler.java:130)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.os.Looper.loop(SourceFile:351)10-19 11:49:13.051: E/AndroidRuntime(21972): at android.app.ActivityThread.main(ActivityThread.java:3815)10-19 11:49:13.051: E/AndroidRuntime(21972): at java.lang.reflect.Method.invokeNative(Native Method)10-19 11:49:13.051: E/AndroidRuntime(21972): at java.lang.reflect.Method.invoke(Method.java:538)10-19 11:49:13.051: E/AndroidRuntime(21972): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:901)10-19 11:49:13.051: E/AndroidRuntime(21972): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:659)10-19 11:49:13.051: E/AndroidRuntime(21972): at dalvik.system.NativeStart.main(Native Method)
在滚动的时候调用的时候,出现某个对象突然为null。
说明,我在返回事件中销毁了一些东西:
@Override public void onBackPressed() { if (webView.canGoBack()) { webView.goBack(); } else { webView.destroy(); group.onBackPressedAction(); back = true; } }
只要把webview.destory();删掉即可,就不会出现上面的问题了。
将webview.destory();放在activity的onDestroy里面
@Override protected void onDestroy() { super.onDestroy(); webView.destroy(); }
联系客服