Почему приложение начинает течь после запуска? - PullRequest
0 голосов
/ 29 июня 2019

Фон

Я разработал приложение для iOS, и когда я использую инструмент для профилирования утечек памяти, я обнаруживаю, что она начинает протекать после запуска. Я почти уверен, что код не содержит циклов сохранения, по крайней мере, код для первого экрана.

Итак, я инициализировал новый проект, чтобы проверить, что с моим кодом что-то не так.

Однако, та же проблема.

Воспроизвести проблему

  1. используйте XCode для инициализации нового проекта для iOS, в моем случае я использую XCode (Версия 10.2.1 (10E1001)).
  2. нет необходимости добавлять какой-либо класс, просто используйте ViewController.swift, который уже существует.
  3. Я предпочитаю использовать код для настройки пользовательского интерфейса, поэтому в AppDelegate.swift я набрал:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.

    let vc = ViewController()
    let nc = UINavigationController(rootViewController: vc)

    window = UIWindow(frame: UIScreen.main.bounds)
    window?.rootViewController = nc
    window?.makeKeyAndVisible()
    return true
}
  1. используйте прибор для определения утечек, и результат показывает

leaks profile result

Вопрос

Я не делал ничего, кроме настройки интерфейса первого экрана в AppDelegate.swift, поэтому не должно быть никаких циклов сохранения, верно?

Я также попробовал Objective-C, тот же результат.

Итак, почему приложение начинает протекать после запуска? Или я должен знать о том, как работает профилирование утечек?

Спасибо!

...