увеличивается использование памяти при переключении контроллера вида в swift - PullRequest
0 голосов
/ 18 декабря 2018

В настоящее время я создаю игру, которая требует, чтобы пользователь переключал контроллеры представления - при переключении между уровнями.

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

@IBOutlet weak var Menu: UIButton!
@IBAction func returntoMenu(_ sender: UIButton) {
    self.dismiss(animated: true, completion: nil)
}

Это означает, что когда пользователь нажимает кнопку меню, он возвращается на страницу меню.Однако я заметил, что при каждом нажатии кнопки меню использование памяти увеличивается, а не уменьшается.Это говорит о том, что уровень не закрывается должным образом.

Кто-нибудь знает, что может быть причиной этой проблемы,

Заранее спасибо!

1 Ответ

0 голосов
/ 18 декабря 2018

По умолчанию iOS использует автоматический подсчет ссылок.Это означает, что у каждого объекта есть хотя бы одна сильная ссылка с ранее созданным (сильная ссылка) объектом.Если ссылка удалена, сборщик мусора очищает эту часть памяти.Конечно, я имею в виду кучу.Если два элемента имеют свои сильные ссылки друг с другом, это состояние означает «сохранить цикл».Итак, память никогда не освободится.Вы должны опубликовать больше кода, чтобы найти проблему.Я только что описал простой случай.Существует много состояний, когда приложение потребляет много динамической памяти.

...