由于很多设备仍然依赖相机 HAL1,因此 Android 7.0 继续支持该模块。此外,Android 相机服务
还支持同时实现两种 HAL(1 和 3),如果您希望通过相机 HAL1 支持性能略低的前置摄像头,
并通过相机 HAL3 支持更为高级的后置摄像头,那么这项支持将非常有用。
有一种单独的相机 HAL 模块(拥有自己的版本号),其中列出了多种独立的相机设备,每种都有
自己的版本号。要支持设备 2 或更新版本,必须使用相机模块 2 或更新版本,而且此类相机模块
可以具有混合的相机设备版本(我们在上文中提到 Android 支持同时实现两种 HAL,就是这个含
义)。
2.HAL 3 简介
Android 8.0 引入了 Treble,用于将 CameraHal API 切换到由 HAL 接口描述语言 (HIDL) 定义的
稳定接口。如果您之前为 Android 7.0 及更低版本开发过相机 HAL 模块和驱动程序,请注意相机
管道中发生的重大变化。
重新设计 Android Camera API 的目的在于大幅提高应用对于 Android 设备上的相机子系统的控制
能力,同时重新组织 API,提高其效率和可维护性。借助额外的控制能力,您可以更轻松地在
Android 设备上构建高品质的相机应用,这些应用可在多种产品上稳定运行,同时仍会尽可能使用
设备专用算法来最大限度地提升质量和性能。
版本 3 相机子系统将多个运行模式整合为一个统一的视图,您可以使用这种视图实现之前的任何模
式以及一些其他模式,例如连拍模式。这样一来&#x