我正在用 swift 语言开发一个应用程序来重现一些实时流媒体或视频点播,我有 3 个视图控制器,第一个用于实时流媒体,第二个是带有视频点播 tuhmbnail 的集合视图并选择其中一个,它打开第三个视图控制器播放视频,但是当我从第三个视图控制器返回时,如果我选择一个新视频,调试器会说“收到内存警告”并且应用程序崩溃,但在此之前,我关闭了以前的视图控制器和将 AVPlayer 对象和 AVPlayerLayer 的值设置为 nil ,我不明白为什么会发生这种情况。可能取决于缓冲区 AVPlayerItem?可以设置吗?或者当我解雇我查看控制器时,我不会破坏他的实例?
问问题
1282 次
1 回答
-1
我需要更多信息才能确定,但您可能有一个保留周期,在该循环中您对块内的 self 有很强的引用。
Apple 明确声明您需要使用弱自我来避免使用 addPeriodicTimeObserver 的保留周期。
希望这会有所帮助。如果没有,您可以编辑并添加代码吗?
于 2016-10-12T02:38:49.460 回答