Есть ли кто-нибудь, кто может мне помочь или объяснить больше?
Я минимизирую свои коды, чтобы использовать кнопку для выделения и добавления UIPickerView в self.view. При нажатии этой же кнопки UIPickerView удаляется из self.view и освобождается.
При каждом удалении UIPickerView я делал снимок HeapShot с инструментами. Я обнаружил, что иногда происходит изменение 0 байтов, 4xx байтов, ... 2K байтов и 4K байтов при росте кучи. Нет утечки (КРАСНЫЙ БАР).
На самом деле, меня беспокоит то, что когда использование кучи становится все больше и больше. Наконец, мое приложение зависнет, и теперь это так. Когда я 25 раз фотографирую и отправляю на свой сервер, куча увеличивается до 1x МБ (нет явной утечки при проверке с помощью Инструментов.
Есть еще предложения?
Вот мои коды для кнопки. Похоже, что мое распределение и освобождение являются правдоподобными
- (void) nextButtonClicked {
if (!pickerShown) {
UIPickerView *pickervTemp = [[UIPickerView alloc] initWithFrame:CGRectMake(0.0, 200.0, 320.0, 216.0)];
self.locationPicker = pickervTemp;
[pickervTemp release];
[_locationPicker setDelegate:self];
[_locationPicker setShowsSelectionIndicator:YES];
[self.view addSubview:_locationPicker];
pickerShown = YES;
} else {
pickerShown = NO;
[_locationPicker removeFromSuperview];
[_locationPicker release];
_locationPicker = nil;
}
return;
}