Как правильно удалить/освободить AVPlayer/AVPlayerItem?

Я реализую видео-приложение, которое перечисляет видео и может транслировать или смотреть локальные видео. Если я попытаюсь посмотреть видео с помощью моего проигрывателя, который наследуется от AVPlayer, будет запущено много потоков, после 15-20 раз система плохо выделяет AVPlayer, и, даже если я не получаю никаких ошибок, представление проигрывателя пустое. и ничего не происходит... Мне нужно убить приложение, чтобы восстановить.

Как с этим бороться?

заранее спасибо


person erdemgc    schedule 07.10.2015    source источник
comment
Можете ли вы поделиться кодом?   -  person rocky    schedule 08.10.2015
comment
В последнее время меня это так сильно беспокоило, что я сейчас изучаю это и опубликую что-нибудь, как только найду решение.   -  person jay    schedule 22.10.2015
comment
Вы нашли какое-нибудь решение с этим @jay?   -  person joey    schedule 31.03.2016
comment
у меня похожая беда. При настройке видео и его воспроизведении создается поток com.apple.coremedia.player.async. И если количество этих потоков станет 15+, видео не появится. Кажется, это ограничение для AVPlayer или AVPlayerLayer. Я также пытаюсь выяснить, как правильно распределять этих игроков. Вы нашли какое-то решение?   -  person Mr.Fingers    schedule 24.06.2016


Ответы (1)


У меня была та же проблема, в моем случае AVPlayerLayer не удалось успешно выделить DE, потому что каким-то образом пользовательская метка захватила сильную ссылку контроллера, и контроллер не получил DE. Воплощать в жизнь

deinit {

}

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

person Nouman    schedule 07.03.2018