2013-11-28 7 views
0

Я запрограммировал приложение iOS, которое (между другими) фотографирует что-то и отправляет его на сервер. Для достижения этого эффекта я использую стандартное действие TakePicture, и у меня есть моя логика в случае OnDidFinishTaking. После выполнения takePicture я получаю стандартное приложение для камеры, чтобы получить изображение и одобрить его в своем приложении. При утверждении, OnDidFinishTaking событие срабатывает .... обычно, но иногда (30%) крах приложения (заканчивается ... убит - не знаю, как назвать это по-другому), когда я одобряю изображение. Я устанавливаю brakepoint в самом начале события OnDidFinishTaking и знаю, что в этом случае программа даже не запускает это событие.Сбой приложения iOS при съемке

Я использую RadStudio XE5 с обновлением 1. iOS - это версия 7.0.4 на новом iPad.

ответ

0

Это звучит как событие с памятью. В вашем симуляторе из меню выберите «Имитировать предупреждение памяти». Сделайте это 2 или 3 раза подряд. Если у вас возникла проблема с обработкой предупреждений о памяти, это приведет к «краху» вашего приложения.

Если это так, то следовать этому руководству, чтобы уменьшить использование памяти вашего приложения: http://www.raywenderlich.com/2696/

Вы должны также посмотреть на этой странице о памяти и производительности: https://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/PerformanceTuning/PerformanceTuning.html

+0

Я вижу ... Вы правы. Я работал над уменьшением использования памяти. выгрузить everithing что больше не используется, у меня нет изображений в моем приложении (вместо одного PNG 128x128 на первом экране). Мое приложение при запуске занимает 36 Мб memmory (единственный способ проверить, что это приложение Pad-Info) - это довольно мало думаю. Существует много других, му ch больше приложений, которые работают :( –

+0

Я нашел, что, например. переключение между приложениями, прежде чем делать снимки между одним изображением и другим, помогает (возможно, какая-то перегородка?), но знаете ли вы, как вызывать это поведение в Firemonkey без переключения между приложениями или закрывать и открывать ту же форму в приложении? –

+0

Возможно, ваше приложение рушится для проблемы с потоками или многозадачностью, но, как и в вашем приложении, многое происходит. Мне нужна дополнительная информация, чтобы помочь вам. Попробуйте сузить проблему до ответа – portforwardpodcast

0

нормально ... Мои приложение было построено со многими различными формами. Все были загружены и уничтожены динамически, но все, что я сделал, не помогло. Наконец, я перестраиваю приложение для использования вкладок вместо форм. Теперь приложение использует почти такую ​​же память в моем iPad (намного меньше, чем в других приложениях, но, к счастью, не рушится.)

SO ... если у вас есть проблемы с памятью в приложении и ничего не помогает, попробуйте использовать вкладки вместо формы. Даже если он занимает ту же область памяти, то кажется, что управление отличается, и она работает лучше.

М.

Смежные вопросы