Я разрабатываю приложение на быстром языке для воспроизведения потоковой передачи в реальном времени или видео по запросу, и у меня есть 3 контроллера просмотра, первый для потоковой передачи в реальном времени, второй - представление коллекции с видео по запросу, и выбирая один из них, это открывает контроллер третьего представления для воспроизведения видео, но когда я возвращаюсь из контроллера третьего представления, если я выбираю новое видео, отладчик сообщает «получено предупреждение о памяти», и приложение вылетает, но раньше я закрываю предыдущий контроллер представления и установите значение nil для объекта AVPlayer и AVPlayerLayer, и я не понимаю, почему это происходит. Может от буфера зависит AVPlayerItem? можно это установить? или когда я увольняю, я вижу контроллер, я не уничтожаю его экземпляр?
как избежать предупреждения о памяти с помощью avplayer?
comment
Попробуйте использовать инструменты и проверьте, есть ли утечка памяти.
- person Larme   schedule 17.02.2015
Ответы (1)
Для уверенности мне понадобится дополнительная информация, но у вас, вероятно, есть цикл сохранения, в котором у вас есть сильная ссылка на себя внутри блока.
Apple явно заявляет, что вам необходимо использовать слабые self, чтобы избежать цикла сохранения с помощью addPeriodicTimeObserver.
Надеюсь, это поможет. Если нет, не могли бы вы отредактировать и добавить код?
person
bourne_js
schedule
12.10.2016
Ссылки на внешние ресурсы приветствуются, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы ваши друзья-пользователи имели некоторое представление о том, что это такое и почему. Всегда указывайте наиболее релевантную часть важной ссылки, если целевой сайт недоступен или постоянно отключен.
- person pableiros; 12.10.2016