UIImageWriteToSavedPhotosAlbum блокирует основной поток - PullRequest
0 голосов
/ 19 декабря 2011

В настоящее время я узнал, что первый вызов функции

   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];

но все же, все заблокировано. После того, как он однажды нашел путь к фотоальбому, он быстро и мгновенно.

Есть какие-нибудь подсказки, что здесь делать?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 04 января 2012

хорошо - отключив кабель сделал это! Запуск XCode замедляет его, используя приложение без отладки, как и ожидалось.

0 голосов
/ 19 декабря 2011

попробуйте dispatch_async, возможно, ваше замедление запускает новый поток atm! Удачи

dispatch_async( dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0ul), ^{
        UIImageWriteToSavedPhotosAlbum(imageView.image, nil, nil, nil);
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...