如何在ios swift基本应用程序中管理内存?

时间:2019-05-13 09:15:26

标签: ios swift

我正在尝试开发一个具有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)
    }

1 个答案:

答案 0 :(得分:0)

离开VC后,您应该停止视频

在ViewWillDisappear方法中执行

player.pause()