1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > android P 小米八 weview闪屏问题解决

android P 小米八 weview闪屏问题解决

时间:2022-02-03 19:28:08

相关推荐

android P 小米八 weview闪屏问题解决

本文主要提供一些思路,前两种方案在网上搜索具体的实施方法,这里不在赘述。

解决这个问题的方法,能查到的主要有两种:

(1)第一种是在调用webview的时候关闭硬件加速,但是这样做会造成webview卡顿,不可取

(2)第二种是在view中重写doTabChanged(),这个方法,然后可以解决切换屏幕的时候闪屏问题,但是这个解决办法与我的问题不符,我这个不是切换不同的fragment,而是webview启动的时候闪屏。

后来在网上查到一种思路,在渲染webview的时候关闭硬件加速,然后监听滚动屏幕,然后开启硬件加速,这个方法最终确实可以先关后开,但是存在很大的bug,因为如果webview没有加载完成的时候,滚动屏幕,会crash

后来想到先关闭后开启,然后主要是开启的时机问题,但是直接用setLayer方法,开启的时候发现是无效的,测试发现,如果放到UI线程开启,是可以的,所以就在webview初始化的时候关闭硬件加速,在progress进行到一半的时候在UI线程中开启硬件加速,解决了这个问题。

这种解决办法虽然解决了这个问题,但是仍旧会存在一个小bug,页面未加载完,这个时候滑动屏幕,还是会有卡顿现象,加载完之后屏幕会稍微闪一下,然后就不卡了,这可能跟硬件加速layer层渲染有关系,不过,目前只想到这个办法

我的问题是在小米八的Android p手机上出现的,可能很多软件都会碰到这个现象,这个现象的主要原因是,小米用的webview是android system webview,存在兼容性问题,但是在华为上不存在这种现象。

科普一下小知识,硬件加速分为四个层级,application、activity、window、view。本文的操作主要在view级别。

如果各位路过的大神有更好的解决办法,请与下方留言,非常感谢。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。