从android-webview播放video标签黑屏谈起

news/2024/9/29 1:00:53 标签: android

最近发现一个有点意思的问题,发现某个app,在播放视频Video的时候,会黑屏,android部分的代码如下:

<activity
    android:name="com.netease.demo.lg.MainActivity"
    android:exported="true"
    android:hardwareAccelerated="false"/>
addView(
    WebView(this@MainActivity).also {
        it.settings.cacheMode = LOAD_CACHE_ELSE_NETWORK
        it.loadUrl("https://www.w3school.com.cn/i/video/shanghai.mp4")
    },
    ViewGroup.LayoutParams(MATCH_PARENT, MATCH_PARENT)
)

当然从不黑屏到黑屏涉及到其他很多模块,昨天按模块查了很久。
最后我对比了两个版本,hardwareAccelerated的配置不同,然后手动改了一下

我用这个开源工具(https://github.com/wuyisheng/apk-analyzer-cmd),把包解开,然后改下hardwareAccelerated,再打回去。
然后就正常播了。

系统在应用启动时解析 AndroidManifest.xml,并读取硬件加速的配置。当 Activity 创建时,系统会根据解析的结果设置 Window 的硬件加速标志。
在 WindowManager 里,也可以通过 setFlags() 方法设置硬件加速标志。如果硬件加速被禁用,系统将回退到软件渲染模式,仅使用 CPU 进行界面和视频的绘制。

软件渲染:android:hardwareAccelerated=“false”
好处是兼容性好。一些webview的特效,比如透明背景的滑动,可以以比较理想的方式绘制出来。但是hardwareAccelerated=“true”的时候,部分手机上会出现撕裂的效果。

硬件渲染:android:hardwareAccelerated=“true”
好处的性能好,对一些有性能要求的场景,会更好一点,比如快速滑动之类的效果。

现在不设置这个,默认都是true的。


http://www.niftyadmin.cn/n/5682161.html

相关文章

重构部队信息安全:部队涉密载体建设新策略

一、完善保密体系架构 1. 加强保密规章制度&#xff1a;制定或刷新关于机密信息管理的相关规定&#xff0c;明确机密信息的生成、复制、传输、使用、储存及销毁等核心环节的操作准则与责任分配&#xff0c;确保整个流程的标准化运作。 2. 明确个人保密义务&#xff1a;通过保密…

【Day20240924】05git 两人协作 冲突

git 两人协作 冲突 命令行解决 两个人修改同一文件时 的冲突可视化解决 两个人修改同一文件时 的冲突参考 命令行解决 两个人修改同一文件时 的冲突 假设kerwin.js是项目的路由文件。tiechui文件夹是组员铁锤的工作目录&#xff1b;test2008文件夹是组长的工作目录。此时&…

基于STM32的智能人脸识别门锁系统

目录 引言项目背景环境准备 硬件准备软件安装与配置系统设计 系统架构关键技术代码示例 摄像头模块数据采集人脸识别与门锁控制OLED显示与报警功能应用场景结论 1. 引言 随着物联网&#xff08;IoT&#xff09;和人工智能&#xff08;AI&#xff09;技术的发展&#xff0c;智…

ant design vue中带勾选表格报Tree missing follow keys: ‘undefined‘解决方法

1、这里一定要给columns和data-source设置key即可。 <div><a-table:row-selection"rowSelection":dataSource"tableList":columns"columns":scroll"{ x: 100% }":pagination"false":loading"loading"&g…

Linux —— udp实现群聊代码

一、介绍 前面我们一步步模拟实现了一个简单的udp服务器和客户端&#xff0c;通过这个服务器&#xff0c;我们简单实现一个群聊的功能&#xff0c;本篇是专门用来记录代码的&#xff0c;详细的实现思路可以去参考我其他两篇&#xff0c;Socket编程&#xff08;一&#xff09;和…

一天认识一个硬件之机箱

台式机除了里面的配件外&#xff0c;还需要机箱来安装这些配件&#xff0c;不同的机箱之间&#xff0c;适配不同的作用 今天就来分享一下台式机的机箱及特点 1ITX机箱&#xff1a; 特点&#xff1a;体积小巧&#xff0c;设计紧凑&#xff0c;便于携带。适合空间有限或追求便…

【test】google cloud

https://shell.cloud.google.com/ 默认已经安装了 VsCode 开发环境和终端界面&#xff0c;都是在线运行的&#xff0c;使用非常丝滑。 此外&#xff0c;服务器上还默认安装了 Docker, 这样就可以直接在 Docker 基础上运行一个 Kubernetes 本地集群了&#xff0c;还要啥自行车…

TikTok不符合推荐页资格是为什么?该如何解决?

TikTok推荐页&#xff0c;就是平台上的For You一栏&#xff0c;即是TikTok的核心功能之一&#xff0c;它会根据用户的兴趣和行为推送个性化内容。然而&#xff0c;并非所有视频都有机会进入推荐页。如果你在TikTok上发布的视频显示不符合推荐页的资格&#xff0c;那么很可能是由…