最近在做一个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) {
//加载数据
}
}
原文:http://www.cnblogs.com/John5/p/4373722.html