【发布时间】:2017-03-27 20:08:02
【问题描述】:
我正在使用 Camera2 打开我的 Android 手机上的闪光灯,具体如下:
camManager.setTorchMode(cameraId, true);
但与 iOS 手电筒相比,它真的很慢(比如打开半秒)。我找不到任何瞬时手电筒,是硬件问题..?
提前致谢!
【问题讨论】:
标签: android performance flashlight
我正在使用 Camera2 打开我的 Android 手机上的闪光灯,具体如下:
camManager.setTorchMode(cameraId, true);
但与 iOS 手电筒相比,它真的很慢(比如打开半秒)。我找不到任何瞬时手电筒,是硬件问题..?
提前致谢!
【问题讨论】:
标签: android performance flashlight
这是硬件问题。
如果底层硬件直接支持HAL(硬件抽象层)接口的enable-torch调用,开启和关闭flash是非常快的。
但如果没有,Android 操作系统必须实际打开相机设备并通过完整的相机 API 打开闪光灯。不幸的是,打开和关闭相机并不是一个快速(或省电)的操作。
Android 6.0 中添加了为此所需的 HAL 接口以及 setTorchMode API,但由于操作系统中存在向后兼容代码,因此并非所有制造商都添加了必要的 HAL 实现以实现快速闪存控制。
【讨论】: