Получено предупреждение памяти.Уровень = 1 - приложение UITabBarController с 5 вкладками - PullRequest
0 голосов
/ 04 ноября 2011

Мое приложение состоит из 5 вкладок. Где 4 из них содержат около 20 текстовых полей (созданных программно и добавленных как подпредставление к представлению) в каждом, моя последняя вкладка - это предварительный просмотр предыдущих вкладок (скриншоты). Когда пользователь переходит на эту вкладку, он должен иметь возможность предварительного просмотра и имеет возможность инициировать электронное письмо с предварительным просмотром (прикрепление скриншотов всех 4-х вкладок к электронному письму). Я реализовал это успешно, но в результате получил предупреждения памяти. Буду признателен за любую помощь, чтобы решить мою проблему.

Я попытался сделать это следующим образом: освобожденные объекты в didReceiveMemoryWarning, если представление не видно

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    if (!self.view.window) {
        [preparedForTextField release];
        [agentTextField release];
        [phoneTextField release];
        [dateTextField release];
        [textFieldsArray release];
    }
    // Release any cached data, images, etc. that aren't in use.
}

и снова загрузил представление в viewDidLoad. Тем не менее я получаю предупреждения памяти.

1 Ответ

2 голосов
/ 04 ноября 2011

Если вам нужно, чтобы там было все, что у вас есть в памяти, просто проигнорируйте предупреждение о памяти (особенно предупреждение уровня 1 приходит довольно легко).Если вам не нужно все это там, и вы можете позже перезагрузить или воссоздать то, что вам сейчас не нужно, удалите его из памяти до необходимости (а затем перезагрузите или воссоздайте).

...