android surfaceView 黑屏

时间:2022-03-05 21:28:08

最近在做一个viewpager + fragment 切换的页面, 其中一个fragment 打开摄像头,需要surfaceView,但是当切换到这个fragment的前一个个时,这个fragment也被加载了。导致会卡和闪一下黑屏.

黑屏解决:

在主FragmentAcivity的onCreate方法

getWindow().setFormat(PixelFormat.TRANSLUCENT);

加载慢的方法

viewpager的机制是 当加载一个view时,会保留前一个,显示当前view,预加载后一个view, 如果后一个view 是比较耗时的页,就会导致 显示比较卡.

解决 在

fragment的

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {

super.setUserVisibleHint(isVisibleToUser);

//当前fragment显示时为true,不显示为false

if(isVisibleToUser) {

    //加载数据

}

}