2015-02-17 9 views
3

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

+1

Попробуйте использовать инструменты и проверьте, есть ли утечка памяти. – Larme

ответ

-1

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

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

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

+0

Рекомендуется использовать ссылки на внешние ресурсы, но, пожалуйста, добавьте контекст вокруг ссылки, чтобы у ваших коллег было некоторое представление о том, что это такое и почему оно есть. Всегда указывайте наиболее значимую часть важной ссылки, если целевой сайт недоступен или постоянно находится в автономном режиме. – pableiros