在我的应用程序中,我为图像捕获创建了自定义摄像头视图当我触发捕获时,我使用以下代码:
private func takePhoto() {
let settings = AVCapturePhotoSettings()
self.stillImageOutput.capturePhoto(with: settings, delegate: self)
}
然后这会触发photoOutput didFinishProcessingPhoto
在那里,我从UIImage
中提取AVCapturePhoto
并继续。
我的问题是在我之间调用self.stillImageOutput.capturePhoto
和图像到达didFinishProcessingPhoto
平均0.5秒通过,我需要捕获图像(几乎)恰好在capturePhoto
被调用时。
有没有办法加快这个过程,还是有另一种方法可以达到相同的效果?
let settings = AVCapturePhotoSettings()
在takePhoto
函数之外写,当你在那时调用takePhoto
函数创建一个新的内存并分配给settings
变量时,那么如果你在这个控制器中全局定义那么内存将在这个控制器加载时分配,它会加快进程拍摄照片。