как избежать предупреждения о памяти с помощью avplayer?

Я разрабатываю приложение на быстром языке для воспроизведения потоковой передачи в реальном времени или видео по запросу, и у меня есть 3 контроллера просмотра, первый для потоковой передачи в реальном времени, второй - представление коллекции с видео по запросу, и выбирая один из них, это открывает контроллер третьего представления для воспроизведения видео, но когда я возвращаюсь из контроллера третьего представления, если я выбираю новое видео, отладчик сообщает «получено предупреждение о памяти», и приложение вылетает, но раньше я закрываю предыдущий контроллер представления и установите значение nil для объекта AVPlayer и AVPlayerLayer, и я не понимаю, почему это происходит. Может от буфера зависит AVPlayerItem? можно это установить? или когда я увольняю, я вижу контроллер, я не уничтожаю его экземпляр?


person AlexBerry    schedule 17.02.2015    source источник
comment
Попробуйте использовать инструменты и проверьте, есть ли утечка памяти.   -  person Larme    schedule 17.02.2015


Ответы (1)


Для уверенности мне понадобится дополнительная информация, но у вас, вероятно, есть цикл сохранения, в котором у вас есть сильная ссылка на себя внутри блока.

Apple явно заявляет, что вам необходимо использовать слабые self, чтобы избежать цикла сохранения с помощью addPeriodicTimeObserver.

Надеюсь, это поможет. Если нет, не могли бы вы отредактировать и добавить код?

person bourne_js    schedule 12.10.2016
comment
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши друзья-пользователи имели некоторое представление о том, что это такое и почему. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно отключен. - person pableiros; 12.10.2016