我只是设置了一个非常基本的相机预览,可以全屏显示相机.我比较了我的应用程序和
Android相机的平滑度,并认为Android相机看起来更顺畅.
为什么会这样?是否有任何特殊技巧可以改善相机预览性能?
解决方法
我前一段时间遇到过同样的问题,结果发现它与相机分辨率有关.您的相机可能会使用最大可用分辨率进行初始化,这可能会降低预览期间的性能.尝试用这样的东西设置较小的图片尺寸.-
Camera.Parameters params = camera.getParameters(); params.setPictureSize(1280,960); camera.setParameters(params);
请注意,您需要设置可用的图片大小.您可以查看可用尺寸
camera.getParameters().getSupportedPictureSizes();
希望能帮助到你.
编辑
似乎使用不同于默认宽高比的图片大小,也会降低性能.这就是我选择pictureSize的方式.-
首先,我得到相机默认pictureSize的宽高比
Camera.Parameters params = camera.getParameters(); defaultCameraRatio = (float) params.getPictureSize().width / (float) params.getPictureSize().height;
然后我得到一个符合相同比例的较低pictureSize.-
private Size getPreferredPictureSize() { Size res = null; List<Size> sizes = camera.getParameters().getSupportedPictureSizes(); for (Size s : sizes) { float ratio = (float) s.width / (float) s.height; if (ratio == defaultCameraRatio && s.height <= PHOTO_HEIGHT_THRESHOLD) { res = s; break; } } return res; }
其中PHOTO_HEIGHT_THRESHOLD是您要允许的最大高度.