java 动态代理 阿bin_Android WebView 的方法只能在 UI 线程中运行
Android WebView 的方法只能在 UI 线程中运行
Android,WebView,线程
2018.04.25
根据报错信息,Android 的 WebView 所有的方法都只能在 UI 线程中调用,在非 UI 线程调用都会产生一些意外的崩溃。
今天分析收集到的崩溃日志,看到一下的一些日志信息。发生的机型主要集中在 4.3 的机型中。很奇怪在更高的版本中,并没有发现这样的问题。记录一下,以备后续观察。
通过日志可以看出,所有的 WebView 方法都只能在 UI 线程中被调用。
java.lang.RuntimeException: java.lang.Throwable: Warning: A WebView method was called on thread 'WebViewCoreThread'. All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads.
at android.webkit.WebView.checkThread(WebView.java:2093)
at android.webkit.WebView.loadUrl(WebView.java:836)
at com.binkery.android.utils.webviewbridge.Bridge.executeJavascript(Bridge.java:260)
at com.binkery.android.utils.webviewbridge.Bridge.executeJavascript(Bridge.java:229)
at com.binkery.android.utils.webviewbridge.Bridge.dispatchMessage(Bridge.java:113)
at com.binkery.android.utils.webviewbridge.Bridge.queueMessage(Bridge.java:100)
at com.binkery.android.utils.webviewbridge.Bridge.access$300(Bridge.java:25)
at com.binkery.android.utils.webviewbridge.Bridge$2.callback(Bridge.java:202)
at com.binkery.android.webview.AbsMethod.doResponse(AbsMethod.java:48)
at com.binkery.android.webview.methods.MethodVolunteer.downResponse(MethodVolunteer.java:43)
at com.binkery.my.volunteer.DownQRSaveUtil$1.handleMessage(DownQRSaveUtil.java:35)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:1092)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.Throwable: Warning: A WebView method was called on thread 'WebViewCoreThread'. All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads.
at android.webkit.WebView.checkThread(WebView.java:2084)
... 14 more
java.lang.Throwable: Warning: A WebView method was called on thread 'WebViewCoreThread'. All WebView methods must be called on the UI thread. Future versions of WebView may not support use on other threads.
at android.webkit.WebView.checkThread(WebView.java:2084)
at android.webkit.WebView.loadUrl(WebView.java:836)
at com.binkery.android.utils.webviewbridge.Bridge.executeJavascript(Bridge.java:260)
at com.binkery.android.utils.webviewbridge.Bridge.executeJavascript(Bridge.java:229)
at com.binkery.android.utils.webviewbridge.Bridge.dispatchMessage(Bridge.java:113)
at com.binkery.android.utils.webviewbridge.Bridge.queueMessage(Bridge.java:100)
at com.binkery.android.utils.webviewbridge.Bridge.access$300(Bridge.java:25)
at com.binkery.android.utils.webviewbridge.Bridge$2.callback(Bridge.java:202)
at com.binkery.android.webview.AbsMethod.doResponse(AbsMethod.java:48)
at com.binkery.android.webview.methods.MethodVolunteer.downResponse(MethodVolunteer.java:43)
at com.binkery..DownQRSaveUtil$1.handleMessage(DownQRSaveUtil.java:35)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:1092)
at java.lang.Thread.run(Thread.java:841)
相关文章
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: Android WebView 的方法只能在 UI 线程中运行
本文地址:https://binkery.com/archives/112002.html
java 动态代理 阿bin_Android WebView 的方法只能在 UI 线程中运行相关推荐
- Java动态代理的两种实现方法:JDK动态代理和CGLIB动态代理
Java动态代理的两种实现方法:JDK动态代理和CGLIB动态代理 代理模式 JDK动态代理 CGLIB动态代理 代理模式 代理模式是23种设计模式的一种,指一个对象A通过持有另一个对象B,可以具有B ...
- Java动态代理的两种实现方法
转载自 http://blog.csdn.net/HEYUTAO007/article/details/49738887 AOP的拦截功能是由java中的动态代理来实现的.说白了,就是在目标类的基础上 ...
- Java动态代理生成的对象导出方法
运行时生成的动态代理对象是可以导出到文件的,方法有两种 在代码中加入System.setProperty("sun.misc.ProxyGenerator.saveGeneratedFile ...
- Java 动态代理及 RPC 框架介绍
所谓动态代理,指的是语言提供的一种语法,能够将对对象中不同方法的调用重定向到一个统一的处理函数中来. python重写__getattr__函数能够做到这一点,就连世界上最好的语言也提供称为魔术方法的 ...
- Java动态代理invoke方法自动执行的原因
Java动态代理invoke方法自动执行的原因 在动态代理中,一般的是先调用Proxy.newProxyInstance()生成代理对象,然后通过调用代理对象的对应方法来实现增强,这里假设代理了被代理 ...
- java动态代理【一】
java动态代理的定义:为其他目标类的方法增加切面的逻辑,即在执行目标类方法的时候,先去执行一段如校验检测的逻辑代码.java通俗一点就是生成一个继承目标类的子类,并在每个调用方法都添加一段逻辑. 应 ...
- Java动态代理的实现
动态代理作为代理模式的一种扩展形式,广泛应用于框架(尤其是基于AOP的框架)的设计与开发,本文将通过实例来讲解Java动态代理的实现过程. 友情提示:本文略有难度,读者需具备代理模式相关基础知识,. ...
- JAVA 动态代理学习记录
打算用JAVA实现一个简单的RPC框架,看完RPC参考代码之后,感觉RPC的实现主要用到了两个方面的JAVA知识:网络通信和动态代理.因此,先补补动态代理的知识.---多看看代码中写的注释 参考:Ja ...
- 初看Mybatis 源码 (二) Java动态代理类
先抛出一个问题,用过Mybatis的都知道,我们只需要定义一个Dao的接口,在里面写上一些CRUD相关操作,然后配置一下sql映射文件,就可以达到调用接口中的方法,然后执行sql语句的效果,为什么呢? ...
最新文章
- Android 启动模式简介
- 关于FTP上传方法 (by Liang)
- mysql linux err2003_远程连接linux下的mysql Err1045 Err2003解决办法
- Android开发之系统信息——获取Android手机中SD卡内存信息
- 职场中混日子的人都有这几种习惯
- open cv+C++错误及经验总结(五)
- 149.直线上最多的点数
- 找不到该项目,请确认该项目的位置的办法
- Scintilla Documentation
- 猛文:关于中国歼20气动性能…
- 计算机 英语简历,2017计算机英文简历范文
- Windows凭据管理器
- 安装炫酷桌面himawaripy实施卫星地图
- wincc服务器不可用项目打不开,wincc客户端与服务器同步
- 347.前K个高频元素 C++
- 三相永磁同步电机PMSM仿真 simulink仿真 永磁同步电机仿真,PI调节器
- 损耗的基础知识(中)
- r语言算巢式设计方差分析_R语言中的方差分析方法汇总
- 每日新闻 | 青云QingCloud正式发布超级混合云解决方案及白皮书
- 前端渲染10w条数据
热门文章
- c#中mysql远程连接方法及实例
- c# 多线程 调用带参数函数
- IOS15给UICollection添加测试数字
- 查WiFi密码的三种方法
- oracle一句话倒过来,oracle一些基本语句
- 安卓 spinner下拉框 做模糊查询_想做短视频不知道用什么工具?11个免费制作工具收藏起来...
- Android动态权限申请工具类非常好用包含9组危险权限
- 视频倒退编辑android,视频倒放剪辑app下载-视频倒放剪辑 v2.6.3 安卓版 - 下载吧...
- pg日期转周_postgresql 存储过程函数:时间戳与日期字符串相互转换
- ios7中让程序使用统一的status bar风格