处理 Camera2 生命周期的推荐方法是什么?
当我打开相机会话时,我看到三个步骤:
CameraDevice
CameraCaptureSession
CaptureRequest
现在,当用户最小化应用程序时,或者当我想短暂暂停相机时,我该怎么办?我是否停止重复
CaptureRequest
?我要关闭CameraCaptureSession
吗?或者我也完全关闭CameraDevice
?
在 iOS 上,我可以简单地“停用”相机会话以保持一切正常,但我不确定这是否相当于在 Android 上停止重复请求。打开
CameraCaptureSession
也相当快。
如果您没有前台服务,并且您的应用程序进入后台,作为一项隐私措施,您的相机设备最终将被操作系统断开连接。但这需要几秒钟。
如果您希望相机隐私指示器消失,那么您至少需要停止重复的捕获请求。然后,如果您想在用户立即返回您的应用程序时尝试启用快速返回相机操作,您可以等待一两秒钟关闭相机设备。
关闭会话实际上对隐私指示器或电源没有任何影响,因此我认为这样做没有太多价值,除非当用户返回应用程序时您必须创建一个新会话(例如,一个新的预览 Surface),那么您不妨关闭会话,以在重新启动时节省一点时间(尽管不多 - 替换会话几乎与创建新会话一样快)。