如何正确删除/释放AVPlayer / AVPlayerItem?

10
我正在开发一个视频应用程序,应用程序能够列出视频和播放本地视频。如果我使用继承自AVPlayer的播放器来观看视频,将会启动许多线程,15-20次后,系统无法正确分配AVPlayer,即使我没有收到任何错误消息,播放器视图也是空白的,什么都不会发生......我需要杀掉应用程序才能恢复正常。
如何解决这个问题?
提前感谢。

你能分享一些代码吗? - rocky
这最近一直困扰着我,我正在研究它,一旦找到解决方案就会立即发布。 - jay
你找到任何解决方案了吗,@jay? - jjjjjjjj
2
我遇到了类似的问题。 当设置视频并且播放正常时,会创建“com.apple.coremedia.player.async”线程。 如果这些线程计数超过15个,则视频不会出现。这似乎是AVPlayer或AVPlayerLayer的限制。 我也在尝试找出如何正确释放这些播放器。 你有找到解决方案吗? - Mr.Fingers
1个回答

2

我遇到了同样的问题,在我的情况下,AVPlayerLayer没有成功分配,因为某个自定义标签抓住了控制器的强引用,导致控制器没有成功分配。

实现以下操作:

deinit {

}

在您的控制器中检查是否调用了此功能。如果没有,您就有解决方案了。 希望这能帮到您。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接