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

Camera2: What does the handler in createCaptureSession(List, CameraCaptureSession.StateCallback, Handler) mean?

我正在阅读 android 的 camera2 api,但我不明白以下请求中的处理程序变量是什么意思?

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

我正在查看 this class 中的 camera2basic 代码,他们在进行上述调用时将处理程序值设置为 null。但是在其他地方,例如 setRepeatingRequest 调用或 imageReader.setOnImageAvailableListener 调用,他们使用他们创建的 backgroundHandler

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

提前致谢!

Handler: The handler on which the callback should be invoked, or null to use the current thread's looper.

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