我试图从基于以下指南编写的简单相机Android应用程序中获得稳定的帧速率。 http://developer.android.com/guide/topics/media/camera.html - 非意图版本。 只有预览,没有图像或视频捕获。每次调用onPreview(实现previewcallback)时,我都会检查时间戳差异以测量帧速率。虽然平均而言它满足我设置的15 FPS速率(setPreviewFpsRange(15000,15000并且使用getSupportedPreviewFpsRange()验证它在设备上受支持),但是单个帧速率从5 fps到40 fps不等。
有没有办法解决这个问题。它的原因是什么?猜猜一个原因是申请流程优先。据观察,添加更多应用程序会降低fps。一种解决方案是增加该相机应用的优先级。第二个原因可能是垃圾收集和慢速缓冲副本预览。第三个原因是相机api(不是Android L的新camera2 api - 我的设备尚不支持)不适用于流式摄像机数据。
此外,还启用了曝光时间锁定来修复帧速率。