Чистая память приложений в быстрой

У меня есть проект XCode, запрограммированный быстро, с процессом регистрации / подключения. Когда вы подключаетесь, даже если приложение перезагрузилось, вы не повторяете этот процесс, пока не нажмете кнопку «выйти из системы».

Я заметил, что если вы будете следить за процессом регистрации / подключения при запуске приложения, объем памяти составит около 500 МБ, тогда как если приложение начнется с подключенного пользователя, память составит около 140 МБ .

Процесс регистрации состоит из 3 контроллеров просмотра, связанных с пользовательским сегментом. Доступ для входа в систему осуществляется по следующему коду:

func switchRootViewController(rootViewController: UIViewController, animated: Bool, completion: (() -> Void)?) { if animated { UIView.transitionWithView(window!, duration: 0.5, options: .TransitionCrossDissolve, animations: { let oldState: Bool = UIView.areAnimationsEnabled() UIView.setAnimationsEnabled(false) self.window!.rootViewController = rootViewController UIView.setAnimationsEnabled(oldState) }, completion: { (finished: Bool) -> () in if (completion != nil) { completion!() } }) } else { window!.rootViewController = rootViewController } } 

Если rootViewController заменяется зарегистрированным в представлении, я хочу загрузить, как вы можете видеть здесь:

 func goToNextView() { let storyboard = UIStoryboard(name: "Main", bundle: nil) let homeViewController = storyboard.instantiateViewControllerWithIdentifier("conversationViewController") as!ConversationViewController homeViewController.currentUser = self.currentUser let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate appDelegate.switchRootViewController(home, animated: true, completion: nil) } 

Однако он не очищает память.

Здесь экран распределения памяти:

введите описание изображения здесь

Поэтому мой вопрос: возможно ли «убить» какой-либо контроллер представления, чтобы очистить память?

Здесь, например, может быть очевидно, что «убивать» представления процесса регистрации при подключении.

Спасибо за ответы.

  • Проблемы с transitionWithView и animateWithDuration
  • Выделение синтаксиса Xcode 8 не работает
  • Обнаружение, когда кнопка «назад» нажата на навигационной панели
  • Странное ведение журнала AQDefaultDevice
  • @property (readwrite, nonatomic, assign, getter = isCancelled) BOOL отменен - ​​xcode6 вызывает ошибку компилятора
  • Ошибка Xcode 8 Storyboard
  • Каков наилучший способ иметь несколько вариантов продукта в Xcode?
  • Pod install требует, чтобы целевое членство не было проверено
  • Как использовать разные идентификаторы отслеживания GoogleAnalytics для отдельных целей в Xcode
  • Есть ли переопределение для изменения размера текста в реальном времени с использованием WKWebView для загрузки локальных файлов HTML?
  • Центральный диспетчер corebluetooth для iPhone отправляет данные в периферийные устройства
  • PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.