android - 系统UI(Statusbar和Navigation Bar)渲染神器

标签 android exoplayer

<分区>

我在 FullScreenActivity 中使用 Exoplayer 制作了一个全屏视频,其中状态栏和导航栏被隐藏(来自 android >= 4.4)。

Activity 完成时,我回到上一个不是全屏的 Activity (显示系统用户界面),70% 的时间我都在系统 UI 上的一个非常奇怪的问题如下:

enter image description here

注 Intent 片是原图,所以导航栏右侧的空白部分显示在手机上。

当恢复应用程序时播放另一个视频时,此 Artifact 会消失。顶部神器对应工具栏+状态栏。当全屏 Activity 完全淡出并完成时,会出现 Artifact 。

欢迎提出任何建议或代码请求。

最佳答案

WebView(至少自 KitKat 以来)中存在一个已知错误,有时会导致这些伪像。它在 Android 错误跟踪器中被归档为 this issue .虽然他们声称它已在 Android 5.0 中修复,但事实并非如此(至少根据我的经验)它不像以前那样容易重现。

在任何情况下,解决方法是使用 WebView 的软件渲染,通过 setLayerType() :

webView.setLayerType(View.LAYER_TYPE_SOFTWARE, null);

一些相关问题:


如果您有一个重现错误的独立示例,如果您能将其提供给 AOSP 问题跟踪器的人员,我将非常感激,在上面的链接中。

关于android - 系统UI(Statusbar和Navigation Bar)渲染神器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28237090/

相关文章:

android - 关于蓝牙协议(protocol)

java - Android Exoplayer音频播放异常

exoplayer - 带起始轨道的 Dash 自适应播放,如何?

java - 我如何在输入 Android EditText 时调用函数

android - Parceler unwrap 提供错误的数据

java - 当 Activity 关闭时,来自服务的 Android 调用监听器将不会响应

java - Askey Android 电视盒上的 ExoPlayer 直播卡住,音频继续

android - 如何使用 EMVideoView 获取内部视频大小

android - ExoPlayer 2 的质量选择器

android - 如何使用单独的应用程序清除所有通知?