Как исправить объект Deloc, когда приложение переходит в фоновый режим? - PullRequest
0 голосов
/ 21 ноября 2010

У вас есть только один вопрос «Как исправить объект Deloc, когда приложение переходит в фоновый режим?».Я работаю над некоторым приложением, все работает отлично и отлично.Когда я помещаю приложение в фоновый режим, а затем снова запускаю его, происходит сбой.Не сразу (приложение отмечается там, где я его закрыл), но когда я выбираю несколько ячеек или просто прокручиваю таблицу, например.Так что я уверен, что приложение вызывает уже выпущенные данные.

вот пример dealloc

- (void)dealloc {


    [anObject release];
    [array release];
    [locationManager release];
    [currentLatitude release];
    [currentLongitude release];
    [filteredListContent release];
    [super dealloc];
}

Любые советы?

Ответы [ 3 ]

1 голос
/ 21 ноября 2010

Если вы специально не освобождаете вещи в методе applicationDidEnterBackground делегата вашего приложения, ничто не должно быть освобождено автоматически

Я никогда не сталкивался с твоей проблемой. Вы уверены, что то же самое не случится через некоторое время, даже если вы никогда не ставите это в фоновом режиме?

Вот хорошее объяснение того, как все фоновые элементы сочетаются друг с другом:

Общие сведения о фоновом режиме iOS 4 и обмене сообщениями делегатов

0 голосов
/ 21 ноября 2013

Никогда не выпускайте никаких объектов, подобных этому. Используйте

- (void)dealloc {

if(anObject){
[anObject release];
anObject = nil;
}
if(array){
[array release];
array = nil;
}
//same approach for all.

 [super dealloc];
}
0 голосов
/ 21 ноября 2010

Я проверяю и переписываю свой собственный код. Проблема была, как я и ожидал, в освобождении памяти. Я использовал autorelease, где я не должен. Это все еще странно, потому что приложение вылетало, когда я снова открываю его.

Спасибо всем, а не вам, ребята, которые дарят мне 2 чулки, вы придурки. Не обижайтесь, но вместо того, чтобы давать какие-то советы, вы просто даете необоснованные отрицательные отзывы.

...