Я просто наткнулся на проблему в своем приложении: я протестировал вызовы didReceiveMemoryWarning на UIViewController, включая последующие вызовы для viewDidUnload.
Это хорошо работало в старых версиях моего приложения, но теперь не работало в iPhone Simulator:
didReceiveMemoryWarning больше не вызывался.
Это вызвано вызовом [NSNotificationCenter defaultCenter] removeObserver:self] в viewWillDisappear (сам являющийся UIViewController), чтобы отменить регистрацию для некоторых уведомлений о жизненном цикле, которые я добавил в viewDidAppear.
Этот глобальный вызов removeObserver: не только удалил мои добавленные уведомления, но, видимо, также уведомление системы UIApplicationDidReceiveMemoryWarningNotification вызвало вызов UIViewController didReceiveMemoryWarning.
Это поведение по дизайну? Я не мог найти ссылку/документ, который указывал, что вызов removeObserver: внутри UIViewController нарушает стандартную обработку памяти.