我知道Stackoverflow有关于这个问题的一些提示,但我没有找到一个非常令人满意的答案来解决我的问题 .

我想从内存中完全删除AVPlayerLayer类中使用AVPlayer播放的视频 . 我已经读过你实际上不允许调用包含AVPlayerLayer的类的dealloc . 但即使我这样做,视频仍然在内存中(cfr声音不会停止播放) .

有些人暗示你应该暂停播放器,或只是加载一个新视频,但我希望它消失了......

我需要这个,因为在旋转设备时,我希望视频没有内存,而是为新方向加载了新视频 . 我需要完全销毁视频,因为它所在的父视图也需要被销毁 .

这是我的结构

UIView - > UIScrollView - > UIviewWithPlayer - > AVPlayerLayer

在UIscrollView中,我在UIViewWithPlayer上调用release和removefromsuperview . 在UIviewWithPlayer中,我在AVPlayerLayer上调用release和removefromsuperview . 但这似乎不起作用 .

非常感谢您的帮助 .