我使用 api“writeImageDataToSavedPhotosAlbum”将图像保存到 iPhone 的相册中。但是,在多次使用(如 4 次)后,每次保存开始需要大约两倍的时间。
我创建了一个测试方法来重现它,它每次都保存完全相同的图像。方法如下:
-(IBAction)testButton {
NSData *data = [NSData dataWithContentsOfFile:[[self photosDirectory] stringByAppendingPathComponent:[[self contentsOfPhotoDirectory] objectAtIndex:0]]];
ALAssetsLibrary *al = [[ALAssetsLibrary alloc] init];
__block NSDate *date = [[NSDate date] retain];
[al writeImageDataToSavedPhotosAlbum:data metadata:nil completionBlock:^(NSURL *assetURL, NSError *error) {
NSLog(@"Saving Time: %g", [[NSDate date] timeIntervalSinceDate:date]);
[date release];
}];
[al release];
}
在新重启的 iPhone 4 上,我得到以下保存时间。
2011-06-01 21:23:13.641 myapp[95:707] Saving Time: 5.30819
2011-06-01 21:23:17.101 myapp[95:707] Saving Time: 1.5311
2011-06-01 21:23:21.916 myapp[95:707] Saving Time: 2.52412
2011-06-01 21:23:25.974 myapp[95:707] Saving Time: 2.85623
2011-06-01 21:23:32.275 myapp[95:707] Saving Time: 4.93484
2011-06-01 21:23:42.024 myapp[95:707] Saving Time: 7.93288
2011-06-01 21:24:00.317 myapp[95:707] Saving Time: 15.8561
2011-06-01 21:24:33.199 myapp[95:707] Saving Time: 29.7571
怎么了?