SurfaceView自定义相机黑屏、模糊记录

最近在作自定义相机,印象比较深入的是遇到两个问题,一个是在华为的平板的上适配,预览出来的效果特别模糊,还卡帧;另外一个是在Android 5.0-7.0的机子上跑就是黑屏(8.0和9.0没问题),如下问题都是针对你已经实现了相机预览有些机子的特殊状况web

1、华为板上的模糊问题

网上不少介绍说预览尺寸没设置好,但个人问题是别的平板上预览彻底没毛病,并且尺寸我也是按平板的宽度去适配的,可是在华为的平板的就是超模糊和卡帧,查找了网上说的各类状况,审核本身的配置彻底不知道什么缘由,在我调试的要放弃的时候注释了一段关于页面的全屏设置的参数,结果奇迹的能够了svg

//项目全屏设置的方式
getWindow().addFlags(View.SYSTEM_UI_FLAG_FULLSCREEN);
getWindow().addFlags(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
getWindow().addFlags(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
getWindow().setNavigationBarColor(Color.TRANSPARENT);
getWindow().setStatusBarColor(Color.TRANSPARENT);

又通过一个个的调式,最后找出SYSTEM_UI_FLAG_FULLSCREEN这个配置致使的,具体缘由不懂为何这个设置会致使模糊,但愿有跟我同样相机配置的没毛病就是模糊卡帧的朋友试试看有没有效果调试

getWindow().addFlags(View.SYSTEM_UI_FLAG_FULLSCREEN);

2、Android5.0预览黑屏

又是花费一个早上找缘由,各类注释,最后缘由又是全屏配置中的一个配置SYSTEM_UI_FLAG_HIDE_NAVIGATION致使,心塞到极致code

getWindow().addFlags(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

3、针对相机配置没设置好黑屏,模糊

相机配置不正确的模糊:(提供思路,有空写个demo)
模糊:
1:相机的预览大小配置好了吗
2:相机的对焦有配置吗
黑屏:
1:权限配置了吗
2:预览尺寸配置错误(随手一写的尺寸可能没有适配的项)xml

总结若是你有像我同样相机配置没毛病,可是仍是出现模糊,黑屏,看下是否全屏的配置是否是跟我同样致使的

以上有空写个相机预览的demoget