3

我见过像 Fast Burst Camera Lite 这样的应用程序可以毫无延迟地进行连拍(当然,照片质量会有所妥协)。我只是好奇这些应用程序是如何工作的。我在互联网上看到了一些网站,但没有满意的答案。因此,我只是想在这里发布它以进行良好的讨论。没有正确或错误的答案。我只是想讨论一下。欢迎任何想法。

4

1 回答 1

1

我观察到的一件事是这个应用程序“Fast Camera Lite”没有滞后。它可能正在使用多线程。一个线程仅捕获图像,而另一个线程保存图像。为了减少延迟,应用程序可能只是让第一个线程捕获图像并将图像数据转储到队列中,而第二个线程从队列中读取数据并将其写入 SD 卡。由于队列只能由两个(或可能多个)线程同时访问,因此我们需要一个线程安全队列,如ConcurrentLinkedQueue.

除此之外,我想我可能需要为相机定义自己的代码,而不是仅仅调用相机活动,因为默认的相机活动在拍摄照片后会有延迟。我可以只使用相机源(用于查看我指向的位置)开始全屏活动,并有一个按钮在单击按钮时存储当前的相机视图(或拍摄图像)。

于 2013-04-01T05:53:42.100 回答