Какой объем памяти превышает приложение iOS до получения предупреждения о системной памяти?
В приложениях iOS срабатывание предупреждений системной памяти динамически определяется операционной системой iOS и не является фиксированным порогом. Система определяет, выдавать ли предупреждение о памяти, исходя из доступной памяти текущего устройства, требований к памяти других работающих приложений и использования памяти текущим приложением.
Триггеры предупреждений памяти
Конфигурация памяти устройства: разные устройства имеют разный объем памяти, например, старые устройства могут иметь только 1 ГБ памяти, а новые устройства могут иметь 4 ГБ или более.
Нехватка системной памяти: Если ваша система испытывает нехватку памяти, предупреждения о памяти могут выдаваться чаще.
Использование памяти приложения: если приложение занимает много памяти, система с большей вероятностью выдаст предупреждение о нехватке памяти, чтобы приложение могло освободить ненужную память.
Уровень предупреждения памяти
iOS предоставляет три уровня предупреждения о памяти, разработчики могут UIApplicationDelegate реализовано черезapplicationDidReceiveMemoryWarning Метод обработки предупреждений памяти.
Значение триггера предупреждения о конкретной памяти
Хотя iOS не раскрывает конкретное значение триггера предупреждения о памяти, его можно оценить, наблюдая за использованием памяти различными устройствами:
Бюджетные устройства (например, iPhone 6 и 6s): Обычно, когда использование памяти приближается к 500 МБ, может появиться предупреждение о памяти.
Устройства среднего класса (например, iPhone 7 и 8): Предупреждение о памяти может появиться, когда объем использования памяти приближается к 1 ГБ.
Устройства высокого класса (например, iPhone X и новее): Предупреждение о памяти может появиться, если использование памяти превысит 1,5 ГБ.
Как бороться с предупреждениями памяти
Освободите ненужные ресурсы: при получении предупреждения о нехватке памяти освободите память, которая больше не нужна, например кэшированные изображения, временные данные и т. д.
Отложенная загрузка и ленивая загрузка: Максимально задерживайте и откладывайте загрузку ресурсов, чтобы уменьшить начальное использование памяти.
Оптимизировать структуры данных и алгоритмы: выберите подходящие структуры данных и алгоритмы оптимизации, чтобы уменьшить использование памяти.
Использование инструмента «Инструменты»: регулярно используйте инструмент «Инструменты» для обнаружения и анализа использования памяти, чтобы выявить и устранить утечки памяти и чрезмерное использование памяти.
Правильная обработка предупреждений о памяти и оптимизация использования памяти позволяют значительно улучшить производительность и стабильность приложения, а также уменьшить количество сбоев и зависаний, вызванных нехваткой памяти.
Какой объем памяти разумен для приложений iOS?
Разумное использование памяти приложением iOS зависит от многих факторов, включая аппаратную конфигурацию устройства, функциональную сложность приложения и рабочую среду.
1. Конфигурация аппаратного обеспечения оборудования
бюджетные устройства : устройства с меньшим объемом памяти (1 ГБ или меньше) чувствительны к использованию памяти. Особое внимание необходимо уделить оптимизации памяти.
устройство среднего класса: для устройств со средним объемом памяти (от 2 до 3 ГБ) приложения могут соответствующим образом увеличить использование памяти, но его все равно необходимо контролировать в разумных пределах.
Высококлассное оборудование: на устройствах с большим объемом памяти (4 ГБ и выше) приложения могут использовать больше памяти, но чрезмерное использование памяти все равно может повлиять на производительность системы.
2. Типы и функции приложений
Простое приложение: например, инструментальные приложения, программы чтения новостей и т. д. обычно стараются поддерживать использование памяти ниже 100 МБ.
Приложения средней сложности: например, приложения социальных сетей, легкие игры и т. д., использование памяти должно контролироваться в пределах от 200 МБ до 500 МБ.
Сложные приложения: Например, в крупномасштабных играх, приложениях с интенсивным использованием графики и т. д. использование памяти может достигать 500 МБ или выше, но старайтесь избегать превышения 1 ГБ.
3. Мониторинг использования памяти
Используйте инструмент Xcode Instruments для мониторинга использования памяти вашим приложением, включая шаблоны распределения и утечек. Убедитесь, что использование памяти приложением стабильно при нормальном использовании и нет явных утечек памяти.
4. Используйте соответствующие показатели использования памяти.
4.1 Резидентная память
Резидентная память — это физическая память, фактически занимаемая приложением, которую можно отслеживать с помощью шаблона «Распределение» инструментов.
4.2 Виртуальная память
Виртуальная память — это общий объем памяти, к которому может получить доступ приложение, включая область подкачки памяти. Использование виртуальной памяти обычно выше, чем резидентной памяти.
краткое содержание
Соответствующий объем памяти зависит от конкретного типа приложения, функциональной сложности и целевого устройства. Вообще говоря, вам следует стараться поддерживать использование памяти в разумных пределах и избегать превышения предела доступной памяти устройства. С помощью методов оптимизации памяти, использования соответствующих структур данных, оптимизации обработки изображений и производительности кода вы можете эффективно сократить использование памяти и повысить производительность и стабильность приложений. Регулярно используйте инструмент «Инструменты» для мониторинга и анализа использования памяти, чтобы убедиться, что использование памяти приложением является разумным в различных сценариях.