У вас очень мало контроля над использованием памяти UIWebView
объектов.Вы также очень мало контролируете общее использование системной памяти.Так что нет способа избежать предупреждений памяти.iOS ожидает, что ваши приложения будут работать правильно при получении предупреждений о памяти, поэтому ваш метод viewDidLoad
должен быть написан для обработки повторного запуска после предупреждения о памяти.
Единственное, что вы можете сделать, чтобы ограничить использование памяти UIWebView
, - это просматривать простые веб-страницы.Как видно из вашего вопроса, это не вариант.
Редактировать: viewDidUnload
вызывается при нехватке памяти.Ожидается, что этот метод освободит все, что легко воссоздать в методе viewDidLoad.Не раскрывайте информацию о состоянии, которую вы хотите показать пользователю, когда это представление возвращается на экран.Затем в вашем методе viewDidLoad
проверьте все объекты, которые вы создаете.Если они nil
, их нужно инициализировать, в противном случае это не первый раз, когда вызывается ваш метод viewDidLoad
, и вам не следует инициализировать свои объекты еще раз.
Другими словами: viewDidUnload
обрабатывает ситуации с нехваткой памяти, и viewDidLoad
не следует предполагать, что он запускается один раз.