2011-01-05 6 views
1

Все, что я сделал с моим приложением. Когда я запускаю приложение на симуляторе, он отлично работает, но когда я некоторое время запускаю на устройстве отладчик, отображающий сообщение как «Полученный сигнал программы 0» .I протестировало приложение с помощью инструментов, протекающих с указанием утечек. Но я не смог точно определить, где именно была утечка. Выпускаем каждый объект, который выделяем. Например я обеспечение небольшой части моего кода:Утечка памяти в iphone App

 if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) 
    { 
    UIImagePickerController *picker=[[UIImagePickerController alloc] init]; 
    picker.delegate=self; 
    picker.sourceType=UIImagePickerControllerSourceTypePhotoLibrary;   
    [self presentModalViewController:picker animated:YES]; 
    [picker release]; 
// NSFileHandle *fileHandle = [[NSFileHandle alloc]initWithFileDescript 
    } 

В приведенных выше утечках коды показывается на UIImagePickerController * подборщике = [[UIImagePickerController Alloc] инициализации]; но я его выпускаю. Может ли кто-нибудь предоставить мне подробную информацию об утечках и как их исправить. Спасибо заранее.

ответ

0

В этой строке кода:

[self presentModalViewController:picker animated:YES]; 

самостоятельно (родительский контроллер) фактически сохранив при этом подборщика и не отпустит, пока родительский контроллер явно не отклоняет его. Пока ваш родительский контроллер отклоняет этот сборщик в какой-то момент вашего кода, все будет в порядке.

+0

Извините, что я не знаю, правильно ли я понял ваши а.е. или нет. Да, я отклоняю сборщик в методе делегата. Столь же проблема :( – iphoneStruggler

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