2016-11-23 2 views
0

Я работаю над Xcode8 и Swift3. Во время запуска приложения я использую визуальную память для отладки. Он показывает мне 3 проблемы с памятью с левой стороны. Пожалуйста, дайте мне знать, как я могу решить эти проблемы с памятью? enter image description hereПроблемы с утечкой памяти

ответ

0

Ну, это действительно сложно рассказать вам, как решить эти проблемы, не зная потока вашей программы. Кроме того, есть много причин для проблем с памятью, и это действительно зависит от того, как вы обрабатывали экземпляры вашего объекта.

Если вы не используете ARC, это означает, что вы несете ответственность за освобождение любого созданного вами объекта. Затем вам нужно проверить, на какой стадии этот объект просочился. Как было сказано там, это словарь, который просочился. Таким образом, у вас есть ключ к определению конкретного объекта.

С другой стороны, если вы используете ARC, вам не придется обрабатывать освобождение созданных объектов. Но это не означает, что вы не получите никаких утечек. Это некоторые возможные причины, которые могут вызвать утечку памяти в вашей программе, даже если используется ARC:

  • Вы устанавливаете сильную ссылку на родителя в дочернем объекте. Это вызывает цикл удержания.
  • Вы устанавливаете сильную ссылку на делегат в интерфейсе.
  • Вы забыли освободить объект, когда вы производите бесплатный звонок после передачи права собственности.
  • Вы забыли установить слабую ссылку на объекты, которые вы передали в блоке.

Надеюсь, это поможет