============问题描述============
谁能告诉我
想不明白
============解决方案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加载机制详解
本文详细解释了WebView的工作原理,特别是其加载机制。说明了WebView必须在UI线程中使用,并探讨了多线程环境下WebView的表现及阻塞问题。此外,还提到了WebView底层使用的Webkit内核以及异步加载数据的过程。
896

被折叠的 条评论
为什么被折叠?



