首页 > 代码库 > webview加载页面为什么在UI线程里面做,难道不是耗时操作么
webview加载页面为什么在UI线程里面做,难道不是耗时操作么
============问题描述============
谁能告诉我
想不明白
============解决方案1============
WebView 里面必须放在UI线程里面展示。
private static void checkThread() {
if (Looper.myLooper() != Looper.getMainLooper()) {
Throwable throwable = new Throwable(
"Warning: A WebView method was called on thread ‘" +
Thread.currentThread().getName() + "‘. " +
"All WebView methods must be called on the UI thread. " +
"Future versions of WebView may not support use on other threads.");
Log.w(LOGTAG, Log.getStackTraceString(throwable));
StrictMode.onWebViewMethodCalledOnWrongThread(throwable);
}
}
加载URL是用的底层回调方法,应该用的是Webkit内核。
每个WebView实例关联一个 WebViewProvider 来处理数据加载,这个加载是异步的,经常发现WebView显示了,发现内容还未显示。所以不柱塞。
============解决方案2============
webview底层是浏览器,多线程的不用怕
============解决方案3============
WebView 不会阻塞Ui线程。
webview加载页面为什么在UI线程里面做,难道不是耗时操作么
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。