- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个 iPhone 应用程序,其中包含一些标准的“相机”功能。保存到相机胶卷真的太慢了,在iPhone 4上大约需要四秒钟。有什么办法可以提高速度吗?
如果您查看默认的 iPhone 相机应用程序,它可以在没有很大延迟的情况下拍摄后续照片,并且照片会立即保存到磁盘(如果您单击最后一张照片所在的小方 block ,位于屏幕的下角)屏幕上,照片库始终会在保存的照片上打开,即使您拍摄了大量照片)。
这是我用来从缓冲区获取图像然后将照片保存在相机胶卷中的重要代码的两个片段;我尝试在第二个片段之前和之后放置 NSLog,它确认了 4 秒的延迟才能完成保存过程。
[stillImageOutput captureStillImageAsynchronouslyFromConnection:videoConnection completionHandler: ^(CMSampleBufferRef imageSampleBuffer, NSError *error)
{
NSData *imageData = [AVCaptureStillImageOutput jpegStillImageNSDataRepresentation:imageSampleBuffer];
UIImage *image = [[UIImage alloc] initWithData:imageData];
...
ALAssetsLibrary *library = [[[ALAssetsLibrary alloc] init] autorelease];
NSLog(@"SCATTO: Inizio salvataggio in library...");
[library writeImageToSavedPhotosAlbum:[image CGImage] metadata:exifAttachments_dictionary completionBlock:^(NSURL *newURL, NSError *error) {
if (error){
NSLog(@"SCATTO: Salvataggio in library: ERRORE");
} else {
NSLog(@"SCATTO: Salvataggio in library: OK");
[self loadNewestPhoto];
}
}];
最佳答案
我不是这方面的专家,但对此主题很好奇。
我认为保存图像总是需要大量时间。如果您希望支持 future 的 iPhone,因为它们很可能会创建比现在更大的图像,则尤其如此。
我认为可以提高性能的一件事是如果您使用 -(void)writeImageDataToSavedPhotosAlbum: ...
而不是 - (void)writeImageToSavedPhotosAlbum: ...
。 JPEG 提取和压缩过程可以忽略。它的成本非常高,因为它将大约 3MB 的数据转换为大约 15MB。
这纯粹是猜测,但如果JPEG提取/压缩是硬件加速的,那么如果同时显示相机输出,可能会占用硬件资源。所以这个过程必须由CPU来完成。
关于iphone - writeImageToSavedPhotosAlbum 太慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7300286/
我正在开发一个 iPhone 应用程序,其中包含一些标准的“相机”功能。保存到相机胶卷真的太慢了,在iPhone 4上大约需要四秒钟。有什么办法可以提高速度吗? 如果您查看默认的 iPhone 相
我正在使用 -writeImageToSavedPhotosAlbum 将图像发送到照片库。我遇到的问题是,尽管指定了一个方向,但图像最终的方向是错误的。 事实上,似乎面向 AVCaptureVide
我正在使用信号量等待异步任务完成,但我不知道为什么在下面的情况下它不等待,请告诉我我哪里做错了 NSLog(@"start async task"); dispatch_semaphore_t s
我正在尝试将 UIImage 保存到相册。我尝试了几种方法,最后一种是: -(IBAction)captureLocalImage:(id)sender{ [photoCaptureButton se
基本上我使用的示例代码来自 http://docs.xamarin.com/ios/recipes/Media/Video_and_Photos/Save_Photo_to_Album_with_Me
我正在通过 -[ALAssetsLibrary writeImageToSavedPhotosAlbum:metadata:completionBlock:] 方法保存照片。它主要工作但对于某些照片,
我是一名优秀的程序员,十分优秀!