问题描述:一个Activity中有两个个fragment,第一个fragment执行完毕然后启动第二个fragment,第二个fragment布局中含有一个SurfaceView用来播放视频,从第一个fragment切换到第二个fragment时,屏幕会全屏的黑一下,然后显示第二个fragment的内容。
调查过程:
1:曾经遇到过Activity之间切换加载慢的问题,原因是第二个Activity的onCreate()中处理的事情太多,布局太复杂导致。但是查看布局文件,没有问题。
2:怀疑是surfaceView的加载时机不对,应该延迟加载,使用ViewStub延迟5s后,加载,发现黑屏延迟到SurfaceView加载到布局中。由此可以定位问题出在SurfaceView身上。
3.调查SurfaceView的时候,发现网上已经有很多人遇到类似的问题,对于Activity之间切换而言,使用如下方法应该可以解决问题:
的背景色设置为要绘制图形的背景色(或者是将绘制的图片设置为背景)