Память, выделенная dyld, должна незначительно уменьшаться по сравнению с даже самыми основными выделениями, сделанными на самых ранних этапах времени выполнения.Среда выполнения Objective-C и другие системные инфраструктуры / библиотеки выделяют множество внутренних структур, которые необходимы для правильной работы.
Например, быстрый тест приложения, которое ничего не делает в основном, но делает один вызовNSLog(@"FooBar");
, а затем режим сна (то есть никогда не запускающий UIApplication) выполнил 373 выделения, что в сумме составило 52 000 жизней.
Чтобы сделать шаг вперед, если вы действительно запустите UIKit, вот так ...
UIApplicationMain(argc, argv, nil, NSStringFromClass([MyAppDelegate class]));
... вы увидите ~ 600K в ~ 7800 выделенных ресурсах, как только приложение достигнет состояния покоя.Это все неизбежные вещи.Никакое предварительное связывание не спасет вас от этого.Я предлагаю не беспокоиться об этом.
Если вы видите, что выделяется на несколько порядков больше памяти, то, как сказал Ник Рейман, это ваше приложение.В конце концов, память, выделенная динамическим компоновщиком, совершенно незначительна.