2012-04-19 3 views
3

Так что я тестирую свое приложение, а моя консоль регистрирует сообщение о получении предупреждения о памяти каждый раз в то время, за которым следует крах приложения. Я тестирую свой iPad через Xcode.Получение предупреждения о памяти + сбой при тестировании через Xcode, но не только на устройстве?

Однако, когда я пытаюсь воспроизвести ошибку на устройстве в одиночку (запуск приложения без Xcode), я не могу свернуть приложение. Что происходит? При тестировании с Xcode приложение выглядит гораздо более подверженным сбоям.

Благодаря

+0

Какое сообщение об ошибке? И как выглядит трассировка стека, когда происходит сбой? – user1118321

+4

Если это предупреждение о памяти, то я бы предположил, что запуск его со всеми продуктами отладки XCode, работающими, забирает достаточное количество памяти для его завершения. Возможно, попробуйте запустить его в режиме «Release» вместо «Debug» через XCode, чтобы узнать, так ли это? – numegil

ответ

1

У меня была такая же проблема, как вы описали. Затем я проверил свой код и своевременно выпустил выделенные объекты. И к тому времени, когда я запустил код без сбоев моего приложения.

Это, кажется, вы определенно есть утечки памяти в коде, как, когда вы выделить какой-либо массив или что-то вроде

NSMutableArray *myarray=[NSMutableArray alloc] init]; Вы должны освободить его. Или автореферат это. или на некоторое время вы можете написать

if(myarray) 
    { 
     [myarray release]; 
     myarray=nil; 
    } 
    myarray=[NSMutableArray alloc] init]; 
2

Существует один намек вы должны попробовать: отключить объекты зомби в разделе Диагностика схемы Run. Обычно с включенными объектами зомби эти объекты остаются в памяти даже после освобождения.

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