在做Camera预览的时候,通过PreviewFrame()方法获取数据,但是发现fps很低,一直在10~12fps徘徊。
当然,有人推荐使用setPreviewCallbackWithBuffer。试了一下,fps没有明显的提升。虽然没有提升,但还是加上吧,避免camera频繁的创建/销毁内存,引起gc。
在stack上搜索,发现一个4.0以后的方法(应该可以了,谁还在开发4.0之前的版本?):
setRecordingHint
添加之后fps明显上升,一直到最高支持fps。
cam =
Camera.open();
cam.setPreviewDisplay(holder); Camera.Parameters parameters =
cam.getParameters(); //new //3句全加,30fps
parameters.setRecordingHint(tr