bytedance / scene

Android Single Activity Framework compatible with Fragment.
Apache License 2.0
2.1k stars 200 forks source link

SurfaceView 闪屏问题 #38

Closed timmy-gzw closed 3 years ago

timmy-gzw commented 4 years ago

项目中有一个页面使用到了 SurfaceView, 但是发现在这个页面中使用 scene 弹窗的方法时 SurfaceView 会闪屏一下.怎样优化比较好呢?

qii commented 4 years ago

你的surfaceview是在老的页面,还是弹出来的新页面,弹的方式是怎么弹的?半透明的 Scene 吗

timmy-gzw commented 4 years ago

surfaceview 在老的页面, 在这个上弹一个半透明的 Scene. 然后 surfaceview 就会闪两下.

qii commented 4 years ago

你能试着 NavigationScene.setDefaultNavigationAnimationExecutor(null),关闭默认动画,然后 push 半透明 Scene 的时候也不指定动画,看看还有闪吗?

timmy-gzw commented 4 years ago

有用, 非常感谢, 关闭默认动画,然后 push 的时候不指定动画就好, 谢谢!!!

qii commented 4 years ago

查到了问题,我重开这个bug,等fix了再关,那个时候应该不用禁用动画来绕过去

qii commented 3 years ago

https://github.com/bytedance/scene/releases/tag/v1.0.6 这个版本做动画时候 View 的 hardware layer 默认是关闭的,应该能解决你这个bug https://github.com/bytedance/scene/commit/9b365d14ffbb2e485bea3a11701750f6bb56bf80

qii commented 3 years ago

我先关闭了