吐槽 Android的WebView的pauseTimers方法神坑 webview加载卡住
原文: 吐槽 Android的WebView的pauseTimers方法神坑 webview加载卡住 | Stars-One的杂货小窝
说明
之前公司的项目和别的公司一起合作,忽然出现情况,进入到他们的Activity之后返回,再到我们页面,加载的网页webview就卡住了
我先是觉得排查一下我们这边的Activity,对webview的页面开始加载和页面加载两个监听方法,添加了日志打印
发现出现卡住的情况是页面加载卡住了
于是继续排查进度条,发现每次出现情况进度刚好在70,就是有点奇怪了
调试了几天,并没有结果
之后得知,他们那边的Activity也是有个webview的,于是尝试得百度搜索了下android webview 影响加载
得到了份结果
感觉应该是这个pauseTimers方法
wevview的pauseTimer会暂停所有的webview的加载
调用pauseTimers()这个方法会将整个app所有webview的js中的定时器停掉。即使没有调用这个方法的webview也不能幸免。
于是让他们那边给了份代码,之后便是看到了上文中的提及的方法,他们那边有调用...

然后我扩展的搜索了下Android webview pauseTimers,百度一看,好多文章都说到了这个问题
- WebView的pauseTimers()遇到的问题_aahuangjianjun的博客-CSDN博客
- 全面总结WebView遇到的坑及优化_lucky的专栏-CSDN博客
- android应用因为加入js而导致webview一直在加载中的bug解决方案 - Javascript教程_JS教程_技术文章 - 红黑联盟
很大概率确认应该是这个问题了,于是加了这边页面加了个恢复的方法,测试,成功
@Override
protected void onResume(){
super.onResume();
webView.resumeTimers();
}
吐槽 Android的WebView的pauseTimers方法神坑 webview加载卡住的更多相关文章
- android UI进阶之实现listview的分页加载
上篇博文和大家分享了下拉刷新,这是一个用户体验非常好的操作方式.新浪微薄就是使用这种方式的典型. 还有个问题,当用户从网络上读取微薄的时候,如果一 下子全部加载用户未读的微薄这将耗费比较长的时间,造成 ...
- Android UI--自定义ListView(实现下拉刷新+加载更多)
Android UI--自定义ListView(实现下拉刷新+加载更多) 关于实现ListView下拉刷新和加载更多的实现,我想网上一搜就一堆.不过我就没发现比较实用的,要不就是实现起来太复杂,要不就 ...
- Fragment的setUserVisibleHint方法实现懒加载,但setUserVisibleHint 不起作用?
我们在做应用开发的时候,一个Activity里面可能会以viewpager(或其他容器)与多个Fragment来组合使用,而如果每个fragment都需要去加载数据,或从本地加载,或从网络加载,那么在 ...
- android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题
android 在自定义的listview(有刷新加载项)列表中,数据过少时,当刷新时,加载项也会显示,这是很头疼的一个问题,查阅了一些资料,总结了一个比较不错的方法: 原来代码: @Overrid ...
- 使用jquery的load方法设计动态加载,并解决浏览器前进、后退、刷新等问题
继上一篇 使用jquery的load方法设计动态加载,并解决被加载页面JavaScript失效问题 解决了后台业务系统的部分动态加载问题,然而该框架离正常的用户体验还存在一些问题,如:浏览器的前进.后 ...
- Android图片管理组件(双缓存+异步加载)
转自:http://www.oschina.net/code/snippet_219356_18887?p=3#comments ImageManager2这个类具有异步从网络下载图片,从sd读取本地 ...
- IDEA下利用Jrebel插件实现JFinal项目main方法【热加载】
IDEA下利用Jrebel插件实现JFinal项目main方法[热加载] Jrebel破解办法 https://github.com/ilanyu/ReverseProxy/releases/tag/ ...
- reload() 方法用于重新加载当前文档。配合Ajax异步请求。
1. reload() 方法, reload() 方法用于重新加载当前文档.配合Ajax异步请求. http://www.w3school.com.cn/jsref/met_loc_reload.as ...
- eclipse 从git取项目,导入为maven项目,新加的方法,报加载主类错误
eclipse 从git取项目,导入为maven项目,新加的方法,报加载主类错误 具体描述: 整体编译能够编译成功,但新加一个java,里面创建一个main方法,运行时,报无法加载主类的错误, 整体编 ...
- Android开发之Activity的生命周期以及加载模式
本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周 ...
随机推荐
- 嫌 OSS 查询太慢?看我们如何将速度提升 10 倍!
背景 HDFS 是 Hadoop 生态的默认存储系统,很多数据分析和管理工具都是基于它的 API 设计和实现的.但 HDFS 是为传统机房设计的,在云上维护 HDFS 一点也不轻松,需要投入不少人力进 ...
- OpenGL的模板缓冲
注意看,利用OpenGL的模板缓冲,可以轻松实现很多酷炫的效果.当然,它用起来也很简单.下面就跟着博主小编,一起来看看吧! 模板缓冲的使用 假设有个大小为800x600的窗口,那么模板缓冲也是 ...
- [windows10]下Bad owner or permissions on .ssh/config的解决办法
按如下步骤操作即可: 进入如下路径C:\Users\用户名.ssh,你会看到有config这个文件 右击config,属性→安全→高级→禁止继承→删除所有继承→确定 如果系统是英文: Properti ...
- Java 数字 默认是 Integer类型的问题,System.currentTimeMillis() + (180 * 24 * 60 * 60 * 1000)的问题,剖析、Long + Integer的问题
最终结论: (180 * 24 * 60 * 60) 这种计算表达式在 Java中是默认以 Integer类型来的,若不超过 Integer的最大值则没有问题,若超过则必须用 (180 * 24 * ...
- Window Server+IIS配置实现一台服务器绑定多个HTTPS证书
参考原文链接:https://blog.csdn.net/lengyiqiu/article/details/89182239 此处做个记录防止丢失: 直接上步骤: 1.选安装好SSL证书,供下面配置 ...
- RPA AI .NET Core 与未来--学习笔记
摘要 当下 RPA 平台主要采用 .NET Framework 框架,也限制了 RPA 只用于 Windows 平台..NET Core 的开放与跨平台特性赋予 RPA 更大发展空间. RPA是什么 ...
- Linux dmesg命令使用方法详解
一.命令简介 dmesg(display message)命令用于显示开机信息.kernel 会将开机信息存储在 ring buffer 中.您若是开机时来不及查看信息,可利用 dmesg 来查看. ...
- jq 实现select 下拉框的联动效果
实现联动的代码 $(document).ready(function() { $("#selectone").bind("change",function(){ ...
- python课本学习第六章
一.字典的概念 #示例代码 student = {'name':'xx','name':'yy','grade1':98.1,'grade':99.2} print(student) #output: ...
- django时区相关说明
# naive time 从字面意思上理解,这是个"幼稚的时间",所以可以理解为它是个本地时间,不带时区信息,不能直接用于存储,如下 import datetime datetim ...