onDestory清除webview报错
2016-02-02 16:51
183 查看
今天在调试代码的时候,有一段关于webview的代码,即退出Fragment的时候清除webview,这时候在其他手机上是没有问题的,但是在三星Grand2中报错:
程序也没有异常退出之类的动作,清除webview的代码是这样写的:
这个错误大概的意思是:当你结束webview的时候,webview还依附在其父控件之下,应当在调用webview.destory()方法之前接触他们之间的依附关系,所以代码中应该这样实现:
[code]java.lang.Throwable: Error: WebView.destroy() called while still attached! at android.webkit.WebViewClassic.destroy(WebViewClassic.java:4173) at android.webkit.WebView.destroy(WebView.java:707) at com.youyou.uuelectric.renter.UI.web.H5Fragment.onDestroyView(H5Fragment.java:202) at android.support.v4.app.Fragment.performDestroyView(Fragment.java:2167) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1141) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1248) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1230) at android.support.v4.app.FragmentManagerImpl.dispatchDestroy(FragmentManager.java:2079) at android.support.v4.app.FragmentController.dispatchDestroy(FragmentController.java:235) at android.support.v4.app.FragmentActivity.onDestroy(FragmentActivity.java:326) at android.support.v7.app.AppCompatActivity.onDestroy(AppCompatActivity.java:161) at com.youyou.uuelectric.renter.UI.base.BaseActivity.onDestroy(BaseActivity.java:136) at android.app.Activity.performDestroy(Activity.java:5543) at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1134) at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:3637) at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3672) at android.app.ActivityThread.access$1300(ActivityThread.java:168) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1382) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:176) at android.app.ActivityThread.main(ActivityThread.java:5493) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1225) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1041) at dalvik.system.NativeStart.main(Native Method)
程序也没有异常退出之类的动作,清除webview的代码是这样写的:
[code]@Override public void onDestroyView() { super.onDestroyView(); mWebView.removeAllViews(); mWebView.destroy(); }
这个错误大概的意思是:当你结束webview的时候,webview还依附在其父控件之下,应当在调用webview.destory()方法之前接触他们之间的依附关系,所以代码中应该这样实现:
[code]@Override public void onDestroyView() { super.onDestroyView(); swipeRefreshLayout.removeView(mWebView); mWebView.removeAllViews(); mWebView.destroy(); }
相关文章推荐
- Android应用性能优化之使用SparseArray替代HashMap
- Unity android Texture Opengl ES 数据通信
- python格式化字符串Type Error: Format Requires Mapping 的问题
- Android 动态关闭Manifest中的Receiver的方法
- XMPP在android客户端上的应用 Androidpn的使用[找不到org.androidpn.client.PersistentConnectionListener]
- iOS block回调传值
- ecplise android 项目转AndroidStrudio 流程
- JS_call_APP native 与 html的交互
- Android开发环境、镜像服务地址、工具网址
- Android DiskLRUCache图片下载优化 <20>
- ObjectAnimator常用设置view效果
- Quartz 2D原文档及中文翻译收藏
- Android gallery画廊
- IOS 四种保存数据的方式
- Android——Shader渲染器
- Android实现地图服务
- APICloud Studio iphone真机调试失败:transferApplication package failed
- ios Push证书 转换步骤
- 微信生态圈的发展分析
- 我常用的库和插件