Методът takePicture в UIImagePickerController не прави снимка веднага всеки път

Имам приложение за камера, което използва моето персонализирано наслагване върху обекта UIImagePickerController.

Извиквам метода takePicture, за да направя снимка, когато потребителят натисне бутон в моя изглед с наслагване. Нещо като:

[imagePicker takePicture];
[self showProcessingIndicator];

Индикаторът за обработка е обичайното въртящо се колело, което показва, че се прави снимка. Забелязвам, че често камерата не прави снимка веднага след извикването на метода takePicture и индикаторът за обработка се показва.

Изглежда, че камерата се опитва да коригира фокуса си (ако не е на фокус) и след това прави снимка. Това вероятно е правилното нещо. Забелязах обаче и забавяне при правенето на снимка, дори когато камерата е фокусирана правилно и не променя фокуса си. Това не се случва всеки път и е трудно да се каже кога точно се случва.

Въпросът ми е: има ли начин да принудя камерата да направи снимка незабавно, игнорирайки всичко останало? Също така, възможно ли е последваща обработка (показване на изгледа на индикатора, например) да кара камерата да реагира по-бавно понякога?

Благодаря!


person AJJ    schedule 23.08.2010    source източник


Отговори (1)


Също така видях това и стигнах до заключението, че правенето на снимка е сравнително гладна за ресурси операция по отношение на разговор с устройството на камерата, разпределяне/преместване на памет и т.н. Въпреки че можете да настроите приложението си да не поглъща никакви ресурси, докато тази част работи, не можете да кажете на MobileMail, MobileiTunes и т.н. да не проверяват за имейли и т.н. точно в този момент.

Има ли някаква конкретна версия на iOS или устройство, на което това се случва повече от други? Правенето на снимка на моя iPhone 3G с iOS 4.0.x отне до 30 секунди, но е значително подобрено на iPhone 4.

Индикаторът за активност ще поеме някои ресурси, така че това може да е кандидат за премахване и може би просто да използва звук вместо това. Тествайте, за да сте сигурни.

person JBRWilkinson    schedule 23.08.2010
comment
Благодаря! Премахнах индикатора за активност без забележима разлика. Предполагам, че трябва да живеем с това засега. - person AJJ; 25.08.2010