崩溃现象: webview滚动时,按返回键,系统崩溃,如果不是滚动的时候退出,程序正常。 崩溃log: 10-19 11:49:13.051: E/AndroidRuntime(21972): FATAL EXCEPTION: main 10-19 11:49:13.051: E/AndroidRuntime(21972): java.lang.NullPointerException 10-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(); } |
|