Новый iPad: предупреждения о нехватке памяти не появляются?

Я разрабатывал приложение для iPad, которое очень требовательно к графике. Я уже смог выжать довольно много производительности из iPad 2, но графика @2x для нового iPad обладает большим преимуществом в области памяти. Используя монитор активности в инструментах, я вижу, как размер моего приложения увеличивается до 300–400 МБ, но я не получаю никаких уведомлений о нехватке памяти. Я использую UINavigationControllerдля управления моими представлениями, поэтому попадание в стек оказывает кумулятивный эффект на память, который заканчивается ее окончательным завершением. У меня нет этой проблемы на iPad 2, где я получаю уведомления о нехватке памяти, как и ожидалось. Мое приложение было закодировано для максимально возможной очистки и очень хорошо работает на этом устройстве.

Я читал несколько похожих вопросов:

Приложение IOS закрыто из-за нехватки памяти, но предупреждение о нехватке памяти не получено
Приложение для iPhone использует 150 МБ памяти, а предупреждения о нехватке памяти по-прежнему нет!

Ни одно из предложений не помогает.

Я вставил код для принудительной отправки уведомления о нехватке памяти:

[[UIApplication sharedApplication] _performMemoryWarning];

Это приводит к тому, что неактивные представления выгружаются, как и ожидалось, и возвращает нормальное потребление памяти. Это использует частный API и является взломом, поэтому по практическим причинам это не решение.Как заставить мое устройство правильно реагировать на условия нехватки памяти и сообщать моему приложению, что его необходимо очистить??

21
задан Community 23 May 2017 в 11:58
поделиться