打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
webview 滚动时返回,APP 崩溃 | 学步园

崩溃现象:

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();    }

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Android开发中StackOverflowError错误实例分析
无法使微调器的滚动条始终可见(Android)
Android中View和ViewGroup介绍
Android中View绘制流程以及invalidate()等相关方法分析
android show dialog exception or android.view.windowManager BadTokenException
monkey测试结果详细分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服