Android webview只加载10%且出现白屏问题排查解决
原文:Android webview只加载10%且出现白屏问题排查解决 - Stars-One的杂货小窝
问题
有一个主页面,布局里是包含的一个自定义Webview,并且注入了些原生的方法进去,供原生JS调用
原生JS调用某个方法后,会先弹出个对话框,之后进入到另外一个含Webview的页面,并加载JS传递过来的一个url,但是却出现了白屏的问题
排查
首先,根据网上的资料,一一排查了一遍,但都没有结果
之后,我尝试注释掉了设置WebChromeClient对象,发现网页均可以正常加载

但此方法不是我想要的,因为我的自定义WebView是实现了文件上传的功能,如果不设置WebChromeClient的话,文件上传的功能不可使用
之后网上的大多是解决方案都是去改WebViewClient的,所以,肯定不是我这种情况的解决方法
在找资料的过程中,知道WebChromeClient类中提供了一个方法,可以获取当前网页的加载进度,于是重写了此方法,将进度打印了出来,但是进度就是加载到10%,之后没有任何反应了,页面也是白屏的
抱着试一试,搜索了webview 加载卡住,结果中发现了一个符合我情况的标题Android WebView 进度卡住10%不动,页面空白,页面无反应,不报错
进去一看,瞬间就有了思路,原来是我用来测试的html里js代码有触发js弹窗,然后我又是再弹窗之后直接跳转到页面,于是新页面中的webview加载资源就被暂停调了
于是我把html里的js弹窗取消,于是网页也是能够正常加载出来了
这个问题也是排查了两天,真不容易
如果硬要解释的话,webview设置了WebChromeClient,里面含有js弹窗的相关处理的方法回调,所以把新页面的webview的加载给暂停了,但是如果不设置WebChromeClient,相当于没有js弹窗拦截,所以就不会讲webview的加载给暂停
参考
Android webview只加载10%且出现白屏问题排查解决的更多相关文章
- Android WebView页面加载优化
		
目前webapp越来越多,体验也越来越好,为了能够更好的使用WebView展示出流畅的的页面,可以从以下几点做优化: WebView缓存 资源文件本地存储 减少耗时操作 客户端UI优化 可能有人会说了 ...
 - Android ListView只加载当前屏幕内的图片(解决list滑动时加载卡顿)
		
最近在做ListView分页显示,其中包括图片 和文字(先下载解析文字内容,再异步加载图片)发现每次点击下一页后,文字内容加载完毕,马上向下滑动,由于这时后台在用线程池异步下载图片,我每页有20条,也 ...
 - Android WebView如何加载assets下的html文件
		
项目需求:将html文件以及所用到的图片都放在 assets/html/ 目录下.然后在页面上通过WebView来显示 直接付上代码: private void readHtmlFormAssets( ...
 - android webview无法加载网页
		
主要原因是没有在AndroidManifest.xml里面设置如下: <user-permission android:name="android.permission.INTERNE ...
 - android webview如何加载asset目录里的页面
		
在asset里的页面都可以这样获得 file:///android_asset/index.html
 - 【Android】再来一篇Fragment懒加载(只加载一次哦)
		
效果 老规矩,先来看看效果图 没错,我又入坑了,又重新做了个 Gank 客户端,因为之前那个代码写得太烂了,这次有好好的考虑了下架构之类的事,代码应该会更容易读懂了点了,吧.哈哈,再次欢迎来 star ...
 - 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互
		
[源码下载] 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互 作者: ...
 - 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Contract 分享 WebView 中的内容, 为 WebView 截图
		
[源码下载] 重新想象 Windows 8.1 Store Apps (81) - 控件增强: WebView 之加载本地 html, 智能替换 html 中的 url 引用, 通过 Share Co ...
 - Android 高清加载巨图方案 拒绝压缩图片
		
Android 高清加载巨图方案 拒绝压缩图片 转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/49300989: 本文出自:[张 ...
 - Android 图片异步加载的体会,SoftReference已经不再适用
		
在网络上搜索Android图片异步加载的相关文章,目前大部分提到的解决方案,都是采用Map<String, SoftReference<Drawable>> 这样软引用的 ...
 
随机推荐
- 基于队列实现生产者消费者(Python)
			
# 进城之间数据隔离 # 进程之间通信(IPC) Inter Process communication # 基于文件 :同一台机器上的多个进程之间通信 # Queue 队列 # 基于socket的文 ...
 - 万字剖析OpenFeign整合Ribbon实现负载均衡的原理
			
大家好,前面我已经剖析了OpenFeign的动态代理生成原理和Ribbon的运行原理,这篇文章来继续剖析SpringCloud组件原理,来看一看OpenFeign是如何基于Ribbon来实现负载均衡的 ...
 - PHP常用类
			
PHP常用类 一.分页类 <?php /** * 分页类 * 调用方式: * $p=new Page(总条数,显示页码链接数量,当前页码,每页显示条数,[链接]); * print_r($p-& ...
 - Hive数据导入与导出
			
数据导入 ● 本地文件导入 -- 本地文件导入(local) LOAD DATA local INPATH '/home/hadoop/sourceA.txt' INTO TABLE testA PA ...
 - NC24623 Tree Decoration
			
题目链接 题目 题目描述 Farmer John is decorating his Spring Equinox Tree (like a Christmas tree but popular ab ...
 - linux 中grep 命令详细使用方法说明
			
前言在linux命令行中,经常需要对当前获取的一堆数据进行过滤.提取和分析,其中grep命令是其中非常重要的命令之一,比如,在生产环境服务器上,经常使用到下面这个命令 ps -ef | grep ja ...
 - STC8A/STC8H通用的最小系统板
			
STC8(包括之前的STC15)因为自带晶振, 所以最小电路需要的外围元件几乎为0 -- 手册上画的两个电容不加也没问题, 直接加上5V电源就能跑. 这样只需要用排针把管脚都引出就行了. 唯一不方便的 ...
 - PC端应用程序自动化测试——pywinauto、pywin32、pyautogui
			
1 前言 PC 端自动化测试使用到的 python 模块主要有 pywinauto.win32gui.pyautogui,主要功能如下: pywinauto:主要使用到 Application 类,用 ...
 - oracle FGAC(细粒度访问控制)介绍
			
在ORACLE中,RLS有时也叫做虚拟私有数据库(VPD)或者细粒度访问控制(FGAC). RLS由8i引进,利用这一特性我们可以对表定义安全策略(并且指明对表的操作类型),实现对用户可以看到或者修改 ...
 - maven打包时打包指定的lib文件夹
			
今天在打包自己的spring boot项目时遇到了问题, 报找不到类和符号. 因为我有些依赖是放在项目lib文件夹中,那么打包的时候要连把它一起打包. 修改pom.xml, 添加一下内容: <b ...