我想使用SurfaceView动画来显示实时相机预览。它工作正常。但是当它第一次加载时它第一次闪烁。
答案 0 :(得分:4)
这是android表面视图的常见问题。
当SurfaceView添加时窗口被破坏然后重新创建,并且Window的像素格式被更改意味着,这引导我回答,SurfaceView和Activity的像素格式不同,因此Window Manager强制重新启动-created。
要解决此问题,只需在onCreate()中添加一行以设置像素格式,如下所示:
getWindow().setFormat(PixelFormat.TRANSLUCENT);
答案 1 :(得分:1)
将0px高度的空白surfaceView添加到活动的第一个布局可能会解决问题。这是一个疯狂的解决方案,但它解决了我的问题。
您还可以查看以下查询,其中包含答案的完整说明。 “SurfaceView flashes black on load”