首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在Android 9.0中,网页视图中的进度条会延迟显示?

在Android 9.0中,网页视图中的进度条会延迟显示的原因是由于WebView组件的更新机制改变所导致的。

在Android 9.0之前的版本中,WebView使用的是WebKit引擎,而在Android 9.0中,WebView切换到了基于Chromium的新引擎。这个新引擎的更新机制发生了变化,它采用了多进程架构,将WebView的渲染过程放在了独立的渲染进程中。

由于进程间通信的开销以及渲染进程的独立性,导致了进度条的延迟显示。具体来说,当网页加载时,渲染进程会将加载进度信息发送给主进程,主进程再将进度信息传递给WebView组件进行显示。这个过程中存在一定的延迟,导致进度条的显示不及时。

为了解决这个问题,可以通过以下方式进行优化:

  1. 使用WebView的setWebChromeClient方法设置WebChromeClient对象,并重写onProgressChanged方法。在该方法中,可以实时获取到加载进度信息,并及时更新进度条的显示。
  2. 在加载网页时,可以先显示一个默认的进度条,然后通过JavaScript与Java代码进行交互,实时获取到网页加载进度,并更新进度条的显示。
  3. 对于特定的应用场景,可以考虑使用自定义的进度条组件,通过与WebView进行交互,实现更加精确和及时的进度显示。

腾讯云相关产品中,可以使用腾讯云移动浏览器(Tencent X5)来替代系统默认的WebView组件,它基于Chromium内核进行了优化,提供了更好的性能和稳定性。您可以通过以下链接了解更多关于腾讯云移动浏览器的信息:https://cloud.tencent.com/product/x5

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

项目需求讨论-WebView进度加载条

这次是因为做项目是原生内嵌WebView,所以当我们WebView加载网页时候,需要有个加载进度条,当然这时候有很多种选择,但是因为普通对话框类型加载框太丑,我们就舍弃掉了,而是模仿微信里面的进度加载条...,也就是WebView 顶部会有一条线来显示加载进度。...(也就是下方GIF图中那个紫红色进度条,别问我为啥用紫红色。我就觉得用这个颜色更加明显点。O(∩_∩)O~) ? 声明大家不要喷哈,有问题可以评论反馈。...大家可以看看 Android之WebView快速上手 ---- OK ,进入我们正题,我们先要知道怎么监听到网页加载进度。...监听网页加载进度: 我们按照上面的Android之WebView快速上手所说: ?

1K30
  • Notification与Widget(其实没怎么讲)Android应用界面开发

    Android应用界面开发 第三章学习 第四部分#### ---- Notification与Widget#### Notification与Widget,他们为什么要一起讲呢?...,而再次下拉后,变为下方这样子大型界面,方便显示更多内容,也许都不用进主应用啦。...这里用来选择通知来时候,设备最上方显示图案 ?...() setSmallIcon(int):设置右下角小图标,接收到通知时候顶部也显示这个小图标 setLargeIcon(Bitmap):设置左边大图标 setAutoCancel(boolean...如果为不确定(持续活动)进度条, 这是处理进度无法准确获知时显示活动正在持续,所以调用setProgress(0, 0, true) ,操作结束时,调用setProgress(0, 0, false

    1.4K40

    InstantClick,让你网站快到起飞,PJAX技术

    instantclick不总是“即插即用”(不是通过两行代码就可以在你网页上运行),你可能需要自定义一些设置来适应你网站,这也是为什么阅读上述文章是强制性。...’s events]()来替代) 依赖上面两个函数第三方脚本(比如js代码)需要调整(参阅[事件和脚本重新加载]()) 加载页面的时候,浏览器不会在显示原本加载进度条了,instantclick...如果您网站没有针对手机进行优化,延迟时间则取决于操作系统。 Android给出300 ms,iOS给出450 ms。 同一站点上3G请求延迟时间通常需要大约200ms。 如何选择?...自定义加载条 进度条是一个假进度条,只是在那里给你用户感觉页面的加载进度。 未来,应该可以使进度条显示真正进度(通过查看服务器Content-Length头)。...即使页面已经立即加载,也显示进度条将来这将更改。你可以github讨论。 当访问者缩放页面或旋转其设备时,该栏大小和位置自动调整,因此即使您网站未针对移动设备进行优化,也正常工作。

    3.7K20

    Android项目中接入腾讯TBS浏览器WebView教程与注意地方

    特殊功能: 速度快:相比系统webview网页打开速度有30+%提升; 省流量:使用云端优化技术使流量节省20+%; 更安全:安全问题可以24小时内修复; 更稳定:经过亿级用户使用考验,CRASH...点击了网页控件就可以回调上面的方法 回调方法里面我们利用Intent打开文件选择器 然后选择完文件后onActivityResult回调里面进行获取,然后利用ValueCallback<Uri 或者...如果都没有,Application初始化调用initX5Environment方法时候,进行离线安装,失败就会自动切换自用自带内核。...显示网页文字时,可通过长按选择文字标识判断,如下水滴状选择效果是x5webview标志: ?...这里给一个简单加进度条封装,项目中使用的话,你布局文件里面使用路径+ProgressWebview即可 public class ProgressWebview extends WebView {

    4.2K20

    【移动端网页布局】移动端网页布局基础概念 ② ( 口 | 布局口 | 视觉口 | 理想口 )

    它是指 网页中可见部分大小,即浏览器窗口中显示内容大小。 移动设备上,由于屏幕较小,需要 对网页进行缩放以适应屏幕大小,因此布局口也需要进行调整。...为了 使网页 不同设备上 都能够 正确地显示和布局,开发者可以使用 响应式设计来根据设备不同调整布局口。...布局口 机械地 将 PC 端网页在手机端呈现 ; Android / iOS 将 布局口 分辨率 设置为了 980 像素 宽度 , PC 端网页可以显示 布局口 中 ; 如下图所示 , 强行将浏览器宽屏界面...下图中 , 在下面的 视觉口 中 , 网页只能被看到一部分区域 ; 3、理想口 ( 网页大小 = 设备大小 ) 理想口 - Ideal Viewport 指的是指在浏览器中,使 网页布局 和 显示最佳口大小...理想大小 取决于 网页内容和布局,通常应该 与布局大小相同 。 通过设置理想口,可以 使网页不同设备上具有相同布局和显示效果,无需进行缩放和滚动。

    1.3K30

    WKWebView

    iOS中,加载网页目前有两种控件:UIWebView和WKWebView。...你还可以使用 setMagnification:centeredAtPoint: 以编程方式设置Web内容第一次Web视图中显示缩放比例。 此后,用户可以使用手势来改变比例。...按指定因子缩放页面内容,并将结果居中指定点上。 导航 allowsBackForwardNavigationGestures。布尔值,指示水平滑动手势是否触发后退列表导航,默认为NO。...枚举类型,需要用户手势开始播放媒体类型。 设置选择粒度 selectionGranularity。用户可以在网页图中交互地选择内容粒度级别。 WKSelectionGranularity。...显示加载进度条 我们可以通过监听WKWebViewestimatedProgress属性值来实现一个加载进度条,而UIWebView只能是通过timer事件做一个假加载进度条

    6K20

    Android自定义带进度条WebView仿微信加载过程

    正常开发中,我们客户端需要用webView加载网页,再遇到网络慢或者访问服务器响应时,页面是空白,所以为了用户更好体验,我们可以提供一个正在加载进度条,提示用户正在加载。...本文结构: 1、自定义webView 2、应用中使用 3、效果展示 一、自定义webView 1、首先定义一个类,继承webView,并首先构造方法 public class ProgressBarWebView...,所以我们需要在第二中构造方法中进行操作,如下: //首选创建一个进度条,我们这里创建是一个横向进度条 progressBar = new ProgressBar(context, null, android.R.attr.progressBarStyleHorizontal...); //设置背景样式 progressBar.setProgressDrawable(drawable); //调用本身addView(其实是调用ViewManager里方法,看源码)方法讲进度条添加到当前布局视图中...addView(progressBar); //正常想获取或这进行交互一般要实现一下两个方法,Myweblient()可以限制不用手机本身浏览器,MyChromeClient()可以获得网页加载进度

    92610

    如何处理手势冲突 | 手势导航连载 (三)

    不幸是, 进度条太靠近主屏手势区域 (Home Screen Gesture Area),所以当用户该区域滑动时,系统把它错误地判断为用户是要执行快速切换应用操作,这也让用户感到困惑。...您也许已经注意到,流程图中多图显示控件 (ViewPager) 在此处回答 "否"。这是因为与整个视图宽度相比,屏幕左右侧手势交互区域宽度相对较小 (默认为每边 20dp)。...这时屏幕底部系统手势交互冲突已经解决了,但屏幕左右两侧 "后退" 操作依然和进度条有冲突: 在上图中,由于进度条播放头正好位于右侧手势区内,因此系统认为用户正在用手势执行 "返回" 操作,因此显示了...由于这个 API 一定程度上破坏用户习惯操作,因此系统做出了限制: 屏幕每个边缘最多只能被应用切除 200dp。 开发者听到这个限制时,常会提出以下问题: 为什么要有限制?...不会,系统仅计算屏幕范围内切出矩形。同样,如果视图只有一部分显示屏幕内,则仅计算所请求矩形屏幕内可见部分。 请关注下一篇连载 读完本文您可能问: 为什么我们还没有讲流程图右半部分?

    4.9K30

    从零开始学 Web 之 CSS3(八)CSS3三个案例

    通过以往CSS知识,我们都能理解大小是影响到我们网页布局,而viewport又决定了大小,所以viewport间接决定并影响了我们网页布局。...移动设备上viewport不再受限于浏览器窗口,而是允许开发人员自由设置viewport大小,通常浏览 器设置一个默认大小 viewport,为了能够正常显示那些专为PC设计网页,一般这个值大小会大于屏幕尺寸...从图中统计我们得知不同移动厂商分别设置了一个默认viewport值,这个值保证大部分网页可以正常在移动设备下浏览。...; document.documentElement.clientHeight; 通过前面介绍我们知道,如果要保证为PC设计网页移动设备上布局不发生错乱,移动设备默认设置一个较大viewport...是我们布局网页区域,那么最终layout viewport是要显示ideal viewport里,而layout viewport大于ideal viewport时,于是就出现滚动条了,那么为什么有的移动设备网页内容被缩放了呢

    1.3K10

    从零开始学 Web 之 移动Web(一)屏幕相关基本知识,调试,口,屏幕适配

    通过以往CSS知识,我们都能理解大小是影响到我们网页布局,而viewport又决定了大小,所以viewport间接决定并影响了我们网页布局。...移动设备上viewport不再受限于浏览器窗口,而是允许开发人员自由设置viewport大小,通常浏览 器设置一个默认大小 viewport,为了能够正常显示那些专为PC设计网页,一般这个值大小会大于屏幕尺寸...从图中统计我们得知不同移动厂商分别设置了一个默认viewport值,这个值保证大部分网页可以正常在移动设备下浏览。...; document.documentElement.clientHeight; 通过前面介绍我们知道,如果要保证为PC设计网页移动设备上布局不发生错乱,移动设备默认设置一个较大viewport...是我们布局网页区域,那么最终layout viewport是要显示ideal viewport里,而layout viewport大于ideal viewport时,于是就出现滚动条了,那么为什么有的移动设备网页内容被缩放了呢

    79021

    Android 关于WebView全方面的使用(项目应用篇)

    1、关于WebView使用: ****与JS交互**** 拨打电话、发送短信、发送邮件 上传图片(版本兼容) 进度条设置 字体大小设置 返回网页上一层、显示网页标题 全屏播放网络视频 ?...: * - 优酷视频直接跳到自带浏览器 * - 根据标识:打电话、发短信、发邮件 * - 进度条显示 * - 加载完成后,添加javascript监听 */ public class MyWebViewClient...,遍历所有的img节点, // 并添加onclick函数,函数功能是图片点击时候调用本地java接口并传递对应src和has_link里值过去 webView.loadUrl...这里用是先加载到90%再加载到100%, 具体为什么相信大家都懂吧... // 进度条 假装加载到90% public void startProgress90() { for (int...http://www.apkfuns.com/android-webview%E4%B8%8Ejavascript%E4%BA%A4%E4%BA%92.html 6、所遇问题 WebView加载网页显示图片解决办法

    1.5K40

    Android自定义webView头部进度加载效果

    看图说话: 上图是不是加载网页时候会有一个进度条横向加载,比以前网速不好时候是一片空白给人感觉友好多了是不,然后效果还不错。...实现思路 就是自己画一条进度线(大家应该都会吧)然后加载到WebView上面,开始进度条是隐藏,进度线初始值为1,然后为了效果好一点,初始少于10进度都让它加载到10位置,等进度到100时候0.2...,如果没有这个,低分辨率手机上显示可能异常 mSettings.setRenderPriority(WebSettings.RenderPriority.HIGH); //提高网页加载速度,暂时阻塞图片加载...,然后网页加载好了,进行加载图片 mSettings.setBlockNetworkImage(true); mSettings.setAppCacheEnabled(true);//开启缓存机制 setWebViewClient...自定义webView头部进度加载效果,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编及时回复大家

    1.3K10

    Android仿微信公众号文章页面加载进度条

    前言: 微信公众号文章详情页面加载时候,WebView会在头部显示一个进度条,这样做好处就是用户可以一边加载网页内容同时也可浏览网页内容,不需要等完全加载完之后才全部显示出来。如何实现呢?...-- 进度条四个棱角大小 0 为都是直角 随着值增大角越圆滑 -- <corners android:radius="0dip" / <gradient android:endColor...="fill_parent" android:layout_height="fill_parent"/ </RelativeLayout 4、Activity中是如何使用 和显示网页内容 :...view, int errorCode, String description, String failingUrl) { } }; } 通过这几个步骤,就是实现跟微信公众号文章详情页显示进度条一致了...源码下载:Android微信页面加载进度条 以上就是本文全部内容,希望对大家学习有所帮助。

    79330

    使用相交观察器和SQIP进行渐进式图像加载

    这种技术背后想法是,连接速度较慢情况下,你可以尽快向用户展示完全可用网页,为他们提供更好体验。即使更好网络连接上,这仍然为用户提供了更快可用页面,并且体验得到了改善。...延迟加载图像背后想法是,你需要等到用户进一步向下滚动页面,并在发出网络请求之前将图像放入视图中。...使用延迟加载技术将意味着用户只加载他们口中看到内容,而与低质量图像相结合则意味着双重网页性能带来麻烦 在这篇文章中,我将通过我所经历步骤和您如何开始使用这种技术来谈谈您自己 开始入门 我们继续之前...,然后再确定它是否图中。...为了让你更全面地了解整个网页外观,让我们来想象下面的页面 你注意到,因为中间图像位于用户口中,所以它被延迟加载,并且低质量图像被替换为全质量图像。口下方所有东西(红线)仍然模糊不清。

    1.8K20

    WebView深度学习(二)之全面总结WebView遇到坑及优化

    当涉及到混合式内容时,WebView尝试去兼容最新Web浏览器 风格; 另外:认证证书不被Android所接受情况下,我们可以通过设置重写WebViewClientonReceivedSslError...解决方案:EditText中加入一句: android:layerType=”software” 图片无法显示: 做程序里有的时候需要加载大图,但是硬件加速中 OpenGL对于内存是有限制...---- ⇒ 五、关于WebView一点小优化: (1)给WebView加一个加载进度条   用Webview加载一个网页时,如果加载时间长,界面会一直空白,体验不太好,所以加个进度条更好看一下...(2)加快HTML网页加载完成速度,等页面finish再加载图片   默认情况html代码下载到WebView后,webkit开始解析网页各个节点,发现有外部样式文件或者外部脚本文件时,异步发起网络请求下载文件...setLoadsImagesAutomatically(true); } } (3)自定义WebView页面加载出错界面   当WebView加载页面出错时(一般为404 NOT FOUND),安卓WebView默认显示一个卖萌出错界面

    5.9K30

    Android -- 真正 高仿微信 打开网页进度条效果

    二,为什么要搞缓慢效果?   三,我实现思路   四,代码,内含注释   五,使用方法与截图   六,完整项目 一,为什么说是真正高仿?   ...阐述这个问题前,先说下之前网上,各位可以复制这段字,去百度一下  "仿微信打开网页进度条效果" ,你会看到有很多类似的文章,不过他们有个共同点,就是实现方法都是一样,而且,都忽略了微信加载网页时,...好了,上面说到,之前网上方法都是都忽略了微信加载网页时,进度条缓慢动画效果,实现代码也是千篇一律,如下: /** 先实例化个进度条 */ ProgressBar mProgressBar = (ProgressBar...对,为什么要这么麻烦,你如果要搞个网页加载进度条,上面的代码不过 10 行,妥妥地实现了。...* * 真正仿微信网页打开进度条 * * 下面的所有属性都可以自己采用 get set 来自定义 * */ public class SlowlyProgressBar {

    1.2K60
    领券