Утечки памяти в приложении iphone - PullRequest
1 голос
/ 05 января 2011

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

     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 * picker = [[UIImagePickerController alloc] init]; но я выпускаю это. Может ли кто-нибудь предоставить мне подробную информацию о утечках и о том, как их исправить. Заранее спасибо.

1 Ответ

0 голосов
/ 05 января 2011

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

[self presentModalViewController:picker animated:YES];

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...