我正在尝试开发一个具有ViewController
的ios应用,该应用可以显示有关产品的一些详细信息并演示视频。
在底部,我建议其他产品,通过单击,导航到具有不同数据的同一VC。
现在,我该如何管理我的内存?(导航发生时,由于在以前的vc演示视频中仍然存在,内存使用率急剧增加)。我使用swift4和AVPlayer
。
我的播放器代码:
if let videoURL = URL(string: url) {
player = AVPlayer(url: videoURL)
playerLayer = AVPlayerLayer(player: player)
playerLayer?.frame = CGRect(x: 0, y: 0, width: containerView.frame.size.width, height: containerView.frame.size.height)
playerLayer?.videoGravity = AVLayerVideoGravity.resizeAspectFill
containerView.layer.addSublayer(playerLayer!)
NotificationCenter.default.addObserver(self, selector: #selector(reachTheEndOfTheVideo), name: NSNotification.Name.AVPlayerItemDidPlayToEndTime, object: self.player?.currentItem)
play()
player?.addObserver(self, forKeyPath: "currentItem.loadedTimeRanges", options: .new, context: nil)
}
答案 0 :(得分:0)
离开VC后,您应该停止视频
在ViewWillDisappear方法中执行
player.pause()