Camera2:createCaptureSession(List,CameraCaptureSession.StateCallback,Handler)中的处理程序是什么意思?

时间:2018-05-13 14:19:41

标签: android android-camera2 android-handler

我正在阅读关于android camera2 api的内容,我无法理解以下请求中的处理程序变量是什么意思?

cameraDevice.createCaptureSession(List, CameraCaptureSession.StateCallback, Handler)

我正在查看来自this类的camera2basic代码,并且在进行上述调用时,它们将处理程序值设置为null。但是,在setRepeatingRequest来电或imageReader.setOnImageAvailableListener来电等其他地方,他们会使用他们创建的backgroundHandler

根据我的理解,backgroundThread(以及处理程序)创建的是所有来的东西,即摄像机会话和回调。那么为什么cameraDevice.createCaptureSession没有提供这个值?

提前致谢!

1 个答案:

答案 0 :(得分:2)

  

处理程序:应该在其上调用回调的处理程序,或者为null以使用当前线程的循环器。

在camera2basic示例中,using用于预览CameraCaptureSession的当前(主)looper足够好,因为它的回调不涉及昂贵的任务,并且只调用一次。使用backgroundThread的其他回调必须在Main(UI)线程之外进行调度。