DevPrep

Все темы › Управление памятью

Почему в iOS нет swap? Что происходит при memory pressure?

Senior PRO

Почему нет swap

На iPhone anonymous-память (куча, стеки) не выгружается на флеш: NAND имеет ограниченный ресурс перезаписи, а постоянный swap на мобильном устройстве убивал бы и накопитель, и отзывчивость. Вместо этого XNU использует memory compressor — сжимает редко используемые anonymous-страницы прямо в RAM (обычно 2–3×), а file-backed clean-страницы просто выбрасывает, потому что их можно перечитать из файла.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store