我目前认识到
的第一次函数调用 UIImageWriteToSavedPhotosAlbum
阻止主线程约1 1/2秒,即使在iphone 4s / ipad2上也是如此。
我也尝试将它保存在一个单独的线程中:
-(void) storeInBackground
{
NSAutoreleasePool *p = [NSAutoreleasePool new];
UIImageWriteToSavedPhotosAlbum(imageView.image, nil,nil,nil);
[p release];
}
....
//call
NSThread* thread1 = [[NSThread alloc] initWithTarget:self
selector:@selector(storeInBackground)
object:nil];
[thread1 setThreadPriority:0.1];
[thread1 start];
[thread1 release];
但是,一切都被封锁了。 在它曾经一直走向相册之后,它的速度很快。
有什么线索在这里做什么?
谢谢!
答案 0 :(得分:2)
答案 1 :(得分:0)
尝试dispatch_async,你的减速可能会启动一个新的线程atm!祝你好运
dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul), ^{
UIImageWriteToSavedPhotosAlbum(imageView.image, nil, nil, nil);
});