標準的な「カメラ」機能を含む iPhone アプリを開発しています。カメラロールへの保存は本当に遅すぎます。iPhone 4 では約 4 秒かかります。速度を改善する方法はありますか?
デフォルトの iPhone カメラ アプリを見ると、大きな遅延なく後続の写真を撮影でき、写真はすぐにディスクに保存されます (画面の下隅にある、最後に撮影した写真の小さな四角形をクリックすると、フォト ライブラリは、大量の連続写真を撮った場合でも、常に保存された写真で開きます)。
バッファから画像を取得し、写真をカメラ ロールに保存するために使用する重要なコードの 2 つのスニペットを次に示します。2 番目のスニペットの前後に 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];
}
}];