博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webview加载页面为什么在UI线程里面做,难道不是耗时操作么
阅读量:4457 次
发布时间:2019-06-08

本文共 819 字,大约阅读时间需要 2 分钟。

============问题描述============

谁能告诉我
想不明白

============解决方案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线程。

转载于:https://www.cnblogs.com/shaochuyun57/p/4035730.html

你可能感兴趣的文章
Visual Studio 2008切换到设计视图卡死解决办法-Troubleshooting "Visual Studio 2008 Design view hangs" issues...
查看>>
数据库设计范式
查看>>
sql2005-数据库备份方案 (转载)
查看>>
centos中安装jdk的操作
查看>>
此实现不是Win平台FIPS验证的加密算法的一部分
查看>>
MongoDB的模糊查询操作(类关系型数据库的 like 和 not like)
查看>>
Django使用cors解决跨域问题
查看>>
使用UnityVS1.8.2搭配VS2013进行Unity3D代码调试(下载+安装+使用+问题解决)
查看>>
jQuery Ajax 实例 ($.ajax、$.post、$.get)
查看>>
mssql sqlserver 获取指定日期为本月第几个工作日
查看>>
web 服务器负载均衡
查看>>
ansible最佳实战部署nginx
查看>>
SharedPreferences
查看>>
Luogu P2482 [SDOI2010]猪国杀
查看>>
python with as的用法
查看>>
数据结构---列表与数组
查看>>
[转]显示文件命令:cat、more、less、tail、touch详解
查看>>
【软工项目组】第五次会议
查看>>
PHP控制反转(IOC)和依赖注入(DI)
查看>>
Delphi2010中DataSnap技术网摘
查看>>