关于使用webView的一些细节问题

Android WebView技术详解和经验分享 这篇文章是我在做Android JSAPI的时候积累的富贵经验,详细的分析了Android WebView的多种常用功能,满满的都是干货,希望能对正在做Android WebView开发的同学有所帮助,这也是我写这篇文章的出发点。 阅读详情

最近做了一个需求,在一个原有的 webview 页面上加一个在线视频播放器,做了许多资料查询,最终选用 h5 <video>   标签

标签如下:


  <video width="100%" controls="controls" preload="preload" poster="封面图片地址"  webkit-playsinline >

        <source src="http://qiubai-video.qiushibaike.com/P63PSNZITNO77GTS_3g.mp4"        type="video/mp4">


        Your browser does not support the video tag


    </video>


用WebView加载视频的时候,第一次进入这个WebView界面时候视频能正常播放。
播放多次之后,WebView会报如下错误:

[ERROR:in_process_view_renderer.cc(193)] Failed to request GL process. Deadlock likely: 0


然后再次进入包含这个WebView的界面后,WebView什么都加载不出来了,一直卡在WebView界面,最后程序奔溃

google了很多资料,有人说把webView 的属性设为  webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null), 硬件加速

设置了之后确带来了另一个问题,视频有声音但是确不能出现画像.....

之后看到一个人技术社区的讨论:https://android.googlesource.com/platform/external/chromium_org/+/cf0c1a0/android_webview/browser/in_process_view_renderer.cc

把webView的预加载属性设为preload="none" 异常暂时却消失了,具体原因尚未得知。


2.webView 关于图片显示路径问题

poster=“ 封面图片路径”  

显示video封面图片,但是直接用

String url = "file:///android_asset/index.html";
webView.loadDataWithBaseURL("file:///android_asset/", url , "text/html", "UTF-8", null);
要为webView指定相对路径,否则图片显示找不到路径。
 


Cocos Webview与H5双向通信:5大关键细节与MD5缓存问题根治方案 在混合应用开发中,Webview作为连接原生应用与Web技术的核心桥梁,其通信机制是实现动态内容加载与交互的关键。其底层原理基于URL Scheme拦截模型,通过自定义协议实现异步消息传递,技术价值在于平衡了开发效率与原生性能。然而,在实际工程实践中,开发者常面临跨平台行为差异、消息丢失、缓存失效等挑战,尤其在游戏内嵌活动、运营模块等应用场景中,这些问题会直接影响用户体验。本文聚焦Cocos Webview与H5的双向通信,深入剖析了MD5缓存机制导致的更新失效问题,并提供了从URL编码、生命周期管理到版本 阅读详情

相关推荐

一次Android WebView使用的苦逼体验之旅

有时候有这么样的需求,我们想在自己的原生android app中嵌入其它功能模块,而这些模块的实现往往早就有BS模式的了,所以简单期间,直接拿过来用吧。 多亏了webView控件,让我们的app可以充当浏览器的功能浏览网页,如果网页已经是屏幕自适应的(各种框架bootstrap啊,amazeui啊,不拉不拉不拉的),那么效果更好! 那么问题来了,我们要怎么使用webView呢? 版本1:

u014424628的专栏 1万+

android webview video 默认画面,Android WebView解析video标签的优化

android版本不统一,webview不同版本实现不一致,不同设备厂商也不一致,出现效果也是不一致,还是iOS老铁们幸福,系统实现美滋滋。这时,有人会问,为什么不用第三方?wtf?第三方?tbs?crosswalk?后者app迅速增大20-40M...,前者的东西,自己定义了video标签,但是第一次为什么还是显示系统的?全屏后返回,webview下面的大白条怎么破?(webview修改的方法不...

weixin_42131618的博客 693

视频加载失败的原因及解决方案

综上所述,视频加载失败可能是由于文件路径错误、文件格式不受支持、服务器配置问题、视频文件损坏、网络连接问题或浏览器插件冲突等原因所致。较大的视频文件可能需要更长的加载时间,而较慢或不稳定的网络连接可能导致部分视频加载失败。浏览器插件和扩展程序冲突:某些浏览器插件和扩展程序可能会与视频加载过程中的某些组件或文件发生冲突,从而导致视频加载失败。视频加载失败是在网页中常见的问题之一。当用户尝试播放上传的视频时,有时会遇到部分视频加载失败的情况。下面将详细讨论可能导致视频加载失败的原因,并提供相应的解决方案。

DhGrad_Bias的博客 1万+

Android WebView Video完全详解(第一篇)-Android开发人员

转载请注明出处 http://blog.csdn.net/u014513456/article/details/54381361 Author:ruanjianjiagou@163.com 背景 最近公司某项功能需要WebView加载H5的Video,搜索很多资料后发现很多问题,都是关键代码片段,因为每个项目每个人产生的问题不同,Video在webview中加载不出来原因很多,可能是客户端少了参...

长江某菜鸟的博客 718

图形学常见概念小结

前言:本文记录《unity shader入门精要》和openGL相关学习过程中一些学习要点; 文章目录PBR流程渲染管线细分着色器的底层实现,应用原理常见的色调映射算法openGl和Direct X的区别PBR流程和URP渲染管线Camera loop(剔除)MVP矩阵变换光线追踪前向渲染和延迟渲染shader和材质的区别bloom原理后处理的理解高斯模糊实现原理图像处理中的边缘检测算子 PBR流程 小结:一套基于自然界微平面理论、能量守恒、菲涅尔反射、线性空间等的科学理论所实现的基于物理的渲染系统,包含一

小谁的博客 1163

AHB总线协议

1. 简介         AHB总线规范是AMBA总线规范的一部分,AMBA总线规范是ARM公司提出的总线规范,被大多数SoC设计采用,它规定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高时钟频率的系统结构,典型的应用如ARM核与系统内

ivy_reny的专栏 8万+

UIWebView在子线程中加载会Crash

UIWebView只能在主线程中加载,UIWebView在子线程中加载会Crash

More reading and learning to become excellent 681

手把手教你用STM32F103C8T6驱动HUB75 LED点阵屏(附74HC595级联代码)

本文详细介绍了如何使用STM32F103C8T6开发板驱动HUB75接口的LED点阵屏,包括硬件连接、74HC595级联代码、时序控制及灰度显示实现。通过实战案例展示动态文字显示和性能优化技巧,帮助开发者快速掌握LED点阵屏驱动技术。

weixin_42623010的博客 342

WebView使用时需要注意的细节问题(持续总结)

1、webview不显示类似百度地图,google地图的问题 这是因为html5在调用地图的api时,用到了DOM Storage API,什么是DOM Storage,说白了就是为了为web存储腾出巨大的空间,引入的本地的键值对存储方式,具体的给个链接看看:www.ibm.com/developerworks/cn/web/1107_gaoly_html5storage/   所以webvi

631

Android Audio常见问题分析方法

分析audio dump,确定写给BT的data是否正常,MTK平台Android原生架构分析threadloop write节点,高通平台分析QXDM 1586节点,从dump确定问题大概位置。分析systrace 确定性能。AudioFocus状态(用于播放或者音量异常的情况)。AudioTrack是否正常创建bt连接是否正常通路异常,setMode,setSpeakerphoneOn等都会影响设备选择,sco调用流程是否正常。

一条老狗的博客 2389

计算机模拟爆破过程,基于LSDYNA岩石爆破模拟建模分析

原标题:基于LSDYNA岩石爆破模拟建模分析 Ls Dyna岩石爆破模拟仿真作者:dyna_focus擅长领域:dyna/abaqus/hypermesh一、 数值模型的建立1.1 单元及算法的选择岩石,炸药,空气都采用solid164实体单元。岩石采用常应力实体单元,该种单元属于纯粹的lagrange算法,该种算法单元网格附着在材料上,随着材料的流动而产生单元网格的变形,但是在结构变形巨大时,有...

weixin_29494379的博客 7317

避坑指南:Cocos Webview与H5双向通信的5个关键细节(含MD5缓存问题)

本文深入探讨了Cocos Webview与H5页面实现双向通信的实战细节与避坑指南。针对Scheme回调的大小写敏感陷阱、MD5缓存对热更新的影响、音频状态同步、evaluateJS执行时机以及加载事件顺序等5个关键问题,提供了具体的解决方案和健壮的通信管理器示例,帮助开发者构建稳定高效的混合应用通信机制。

day7的博客 426

【tessy】软件环境配置:Keil C51 Keil uVision UVSC (Default)

本文详细说明了tessy软件如何配置【Keil C51 Keil uVision UVSC (Default)】环境,具体操作步骤和注意事项

qq_37282365的博客 601

webview中调用wx.miniProgram.navigateTo报错或无响应

今天调试webview,在小程序内怎么点都无响应,去网页中把页面打开报错 网上找了些解答也无法解决自己的问题,经过多次调试发现都是些细节问题,但是错一点就无法成功 1.wx.miniProgram.navigateTo()中 url必须带引号; 2.跳转url必须是相对或绝对地址,绝对地址必须在前面加 / ,这个东西经常一不小心就忘了。 ...

m0_37360025的博客 8307

[QMT量化交易小白入门]-九十五、多因子选股和趋势择时股票量化交易策略,年化收益率40.61%

本策略采用“双层过滤”机制:第一层基于多维度财务指标进行股票池筛选(多因子选股),第二层运用均线系统和MACD指标实施动态择时(趋势跟踪)。这种设计既保证了组合的质量下限,又能灵活应对市场波动。因子配置科学性:涵盖估值、成长、盈利、动量四大类因子风险控制精细化:设置动态止损与仓位管理机制信号验证严格性:多重条件交叉验证提升胜率。

木头大左的博客 800

手把手教你学Simulink——基于经典PID控制的电机系统场景实例:步进电机PID位置控制系统的实现

步进电机(Stepper Motor)是一种将电脉冲信号转化为角位移的执行元件,具有结构简单、控制方便、定位精度高等优点,广泛应用于数控机床、机器人、打印机、3D打印机等需要精确定位的场合。传统的步进电机多采用开环控制,但在高速或负载变化较大的情况下容易出现丢步、振荡等问题。为提高控制精度与响应性能,闭环PID控制被引入步进电机的位置控制中,通过编码器或旋转变压器等反馈装置,实现高精度、高稳定性的位置控制。本教程将带你使用构建一个基于PID控制的步进电机位置控制系统仿真模型步进电机建模。

MHD0815的博客 9693

坑爹系列-2 webview的白边问题

即使你这么设置,那也是不起作用的,webview仍然会有一点点白边 android:fadingEdge="vertical|horizontal" android:fadeScrollbars="true" android:scrollbarStyle="insideOverlay" HTML contains the following in<h...

weixin_30790841的博客 368

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

webview细节注意

  在项目中与到了这个问题,就是在webview没有显示时,tabbar的那个位置会有一个黑条,如果tabbar还是透明的那显示会很难看,用户体验肯定不好呀!解决这个问题只需要一句[self.websetOpaque:NO];   还需要注意的是webview下面是scrollview,最好将scrollview的背景颜色设置成和webview颜色一样,这样上下拉的时候不会让用户感觉到颜色...

weixin_30892037的博客 96

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android WebView出现的乱码问题

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33724570的博客 507

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Android禁止WebView滚动的方法

在选择Web的输入框弹出键盘,这时WebView的高度改变重新渲染,如果html调整层级的位置使内容除输入框外不变,先将层级上移再移回原来位置时就会出现闪屏。经测试,有些手机会出现闪屏,有些不会。想到了禁止WebView滚动应该可以解决问题。      但是如何禁止WebView不可滚动呢?WebView有几个与滚动有关的方法,但是都无效。如:        WebView.setScr

bdemq的专栏 1万+

Android 使用webview遇到的问题及解决办法

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34242331的博客 381

WebView 全面使用攻略

原文链接:http://blog.csdn.net/qq_17766199/article/details/71698593 史上最全 WebView 使用,附送 Html5Activity 一份 —— 由唯鹿分享 关于WebView使用很全面的一篇文章,分享给大家。原文链接在此 文中我会有部分补充乱入。 WebView在现在的项目中使用的频率应该还是非常高的。  我

garyhu1的博客 711

【uniapp】关于webview组件无法自定义宽高问题解决

最近做的项目中,在h5环境运行上遇到关于webview组件无法自定义宽高问题,要怎么弄才好呢,其实没那么难,很简单的,现在将解决方法讲一下。

1万+

186.WebView-透过WebView了解HyBrid-深入的操作,学习WebClient-学习Chrome为底层的AwContent,更加深入

所谓 Hybrid 应用,是指在原生应用中嵌入 Web 技术(HTML、JavaScript、CSS)展示页面内容,通过原生与 Web 之间的互通,实现快速迭代和跨平台开发。实际上,WebView 并不仅仅是一个简单的浏览器容器,它背后依赖的是 Chrome 内核中封装的 Android Webkit(AwContent),通过对 WebViewClient 和 WebChromeClient 的扩展,开发者可以非常灵活地进行定制化开发。• 响应速度:在用户交互过程中,页面响应的流畅度及动画执行效果。

2303_79132118的博客 1240

webview

仿淘宝、京东拖拽商品详情(可嵌套ViewPager、ListView、WebView、FragmentTabhost) 对于电商App,商品详情无疑是很重要的一个模块,观察主流购物App的详情界面,发现大部分都是做成了上下两部分,上面展示商品规格信息,下面是H5商品详情,或者是嵌套了一个包含H5详情及评论列表的ViewPager界面,本文...

weixin_34221775的博客 220

关于一个URL,在浏览器中能打开,但是在webview中打不开的问题

今天遇到一个很奇怪的问题,通过webview加载一个URL,原本很简单的事情,结果却怎么都不能正常的显示出来,结果都是空白页面,在onPageFinished方法中返回的url总是  about:blank  一直都没找到原因,后来无意间发现,是我没有给这个URL 添加上http协议,之前一直以为 只要是www. 开头的就不用添加http协议了,这个在浏览器中能打开,那是因为默认的添加了这个htt

hoyouly的专栏 9217
上一篇: TextView、EditText 怎样设置后缀为 .otf 原生文件 的文字样式
下一篇: EL表达式 三木运算使用
不会编程同学
博客等级 码龄12年 5粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值