我正在阅读关于android camera2
api的内容,我无法理解以下请求中的处理程序变量是什么意思?
cameraDevice.createCaptureSession(List, CameraCaptureSession.StateCallback, Handler)
我正在查看来自this类的camera2basic代码,并且在进行上述调用时,它们将处理程序值设置为null。但是,在setRepeatingRequest
来电或imageReader.setOnImageAvailableListener
来电等其他地方,他们会使用他们创建的backgroundHandler
。
根据我的理解,backgroundThread
(以及处理程序)创建的是所有来的东西,即摄像机会话和回调。那么为什么cameraDevice.createCaptureSession
没有提供这个值?
提前致谢!
答案 0 :(得分:2)
处理程序:应该在其上调用回调的处理程序,或者为null以使用当前线程的循环器。
在camera2basic示例中,using用于预览CameraCaptureSession的当前(主)looper足够好,因为它的回调不涉及昂贵的任务,并且只调用一次。使用backgroundThread的其他回调必须在Main(UI)线程之外进行调度。