Как платформа iOS обрабатывает файлы с отображением памяти во время сценариев с низкой памятью? По сценариям с низкой памятью я имею в виду, когда ОС отправляет уведомление UIApplicationDidReceiveMemoryWarningNotification
всем наблюдателям в приложении.
Наши файлы отображаются в память с помощью +[NSData dataWithContentsOfMappedFile:]
, документация для которых:
В сопоставленном файле используются методы виртуальной памяти, чтобы избежать копирования страниц файла в память до тех пор, пока они не понадобятся.
Означает ли это, что ОС также удалит страницы, когда они больше не используются? Можно ли пометить страницы как более не используемые? Эти данные доступны только для чтения, если это изменит сценарий. Как насчет того, следует ли нам напрямую использовать mmap()
? Было бы предпочтительнее?