如何减lessAndroid相机快门时滞的变化?

给定已知的周期性运动(例如,步行),我想在运动中的同一点(即,在不同时期内的相同时间偏移)上拍摄全分辨率快照。 然而,在Nexus S(目前运行的是OS 4.1.1,但是之前的操作系统版本也是如此),我看到快门时滞有很大的变化,我无法准确计划快照的时间。 这里是50张照片的快门时滞的直方图。 (在快门callback开始前,我在Camera.takePicture()和另一个System.nanoTime()之前用一个System.nanoTime()来测量快门时滞,镜头一直被覆盖,以消除因照明造成的任何变化。

在这里输入图像说明

有什么我可以做的应用程序来减less这种快门时滞变化? (在这个应用中,平均滞后可以是任何持续时间,但是标准偏差必须小于上述直方图中显示的快门滞后的0.5秒标准偏差。)我希望有人有一个聪明的build议。 如果我没有得到任何build议,我会在Android错误跟踪器中发布function请求。

更新:我closures了自动对焦(通过将焦点设置为无穷远)遵循RichardC的build议https://groups.google.com/forum/?hl=zh-CN&fromgroups#!topic/android-developers/WaHhTicKRA0它有所帮助,如图所示以下直方图。 任何想法,以减less快门滞后变异更甚?

在这里输入图像说明

更新2:我禁用了剩余的自动参数:白平衡,场景模式,闪光。 快门滞后时间可变性的以下直方图似乎与运行OS 4.1.1的Nexus S一样好。 如果在快门延迟时间内变化较小,可能是通过在Camera.takePicture()中指定一个可选的最小快门延迟时间(如果它在指定的最小值之前准备好的话)来延迟快门,这将是很好的。 我已经向Android问题追踪器发布了一个function请求。 如果您也有兴趣获取该function,请点击http://code.google.com/p/android/issues/detail?id=35785

在这里输入图像说明

Solutions Collecting From Web of "如何减lessAndroid相机快门时滞的变化?"