我正在设计使用Android camera2
软件包的条形码扫描仪。我同时使用两个surface:一个是TextureView
的表面,用于显示预览;另一个是ImageReader
的表面。另一个是acquireLastestImage
的表面,用于查找潜在的条形码。
由于我希望预览流畅,因此我发送了一个重复请求,并且效果很好(约60 fps)。但是我希望ImageReader
仅以10 fps的速度拍照。如果我将两个表面都绑定到单个请求和会话中,则ImageReader
需要非常频繁地调用{{3}}来释放空间。否则应用程序将卡住甚至崩溃。尽管此方法效果很好,并且不占用太多内存或CPU,但我想确认是否有更好的方法。
有什么方法可以使ImageReader
以较低的频率拍摄图像,同时使预览平滑?