Запуск долго работающего приложения для обработки звука на привязанном (к Xcode 3) iPod Touch. Дважды сейчас, после 1 часа 40 минут в первый раз и 2 часов 20 минут во втором, приложение заканчивало с сигналом 0. Здесь и на других форумах многократно обсуждается сигнал 0, и все они, кажется, виноваты в нехватке памяти .
Но я сбрасываю память, используемую через определенные промежутки времени, и в последнем тесте она увеличилась всего на 3,3 Мб с начала цикла и до конца. И у меня есть крючок в моем делегате приложения, чтобы войти, если я получаю предупреждение памяти (проверил это на симуляторе), и это не вызывалось.
Короче говоря, нет предположения о нехватке памяти.
В обоих случаях приложение было закрыто в той точке программы, где файлы записываются и передаются на сервер. (Это происходит каждые 20 минут.) Передаваемые файлы являются относительно небольшими (86 КБ для переданного в момент сбоя). Судя по журналам, возможно, произошла ошибка при чтении файла для подготовки к передаче. Это потребовало бы создания строки NSString, содержащей данные для передачи. (Возможно, логика здесь может быть немного чище - она использует NSString stringByAppendingFormat, что, я признаю, подозрительно.)
Есть предложения, как это отладить? Это звонит в колокол? Могу ли я выйти из хранилища без предупреждения? Есть ли что-то, что может "заснуть" на телефоне? Есть ли какой-то предел того, как долго вы можете запустить привязанный тест на Xcode 3?