我只是设置了一个非常基本的相机预览,可以全屏显示相机.我比较了我的应用程序和
Android相机的平滑度,并认为Android相机看起来更顺畅.
为什么会这样?是否有任何特殊技巧可以改善相机预览性能?
@R_301_323@
我前一段时间遇到过同样的问题,结果发现它与相机分辨率有关.您的相机可能会使用最大可用分辨率进行初始化,这可能会降低预览期间的性能.尝试用这样的东西设置较小的图片尺寸.-
- 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是您要允许的最大高度.