Я не совсем понимаю, что вы говорите или пытаетесь решить, но, похоже, вы ищете карту памяти. Смотри man mmap
.
ps читая еще раз, если я правильно понимаю ваш вопрос, вы хотите создать толстый двоичный файл, содержащий все данные о ресурсах. В этом случае ОС, вероятно, будет выгружать неиспользуемые части, поэтому память «освобождается» автоматически. («освобождается» в смысле освобождения физической памяти, которая может использоваться для других целей). Таким образом, постоянный двоичный файл будет оставаться в виртуальной памяти, а не в физической памяти.
Обновление, чтобы объяснить немного дальше
На вашем Mac, в терминале, запустите
$ vmmap -resident $$
Это покажет отображение виртуальной памяти для вашей оболочки, показывая общую память и резидентную память. Вы увидите эту строку:
==== Non-writable regions for process 7139
__TEXT 0100000000-00100099000 [ 612K 460K] r-x/rwx SM=COW /bin/bash
Это говорит о том, что в этой области памяти должен быть найден файл /bin/bash
(карта памяти снова см. man mmap
), и что он не полностью выгружен; только 460kb двоичного файла фактически присутствует в памяти. Что интересно, потому что это исполняемый файл. Другие строки также интересны, но выходят за рамки этого вопроса.
поэтому если в выбранной ОС (iOS) есть разумное управление памятью, ваша проблема на самом деле не существует. Просто не трогайте память, которая вам не нужна; каждый раз, когда вы прикасаетесь к нему, страницы читаются в памяти.