2016-02-12 33 views
1

我有重新輸入的時間產生用於mp4視頻每次一個層相同的視圖一束,從而形成存儲器蠕變因爲這些層沒有得到除去一個應用程序,或者至少是是我的猜測。我怎樣才能刪除添加的圖層?如何清除層我加入打AVplayer夫特

override func viewWillAppear(animated: Bool) { 



    let videoURL: NSURL = NSBundle.mainBundle().URLForResource("info2", withExtension: "mp4")! 


     mygtukas = AVPlayer(URL: videoURL) 
     mygtukas?.actionAtItemEnd = .None 
     mygtukas?.muted = true 



     let playerLayer = AVPlayerLayer(player: mygtukas) 
     playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFill 
     playerLayer.zPosition = 1 
     playerLayer.frame = CGRect(x:20.0, y: 703.0, width: 36.0, height: 36.0) 


     view.layer.addSublayer(playerLayer) 

     mygtukas?.play() 

     NSNotificationCenter.defaultCenter().addObserver(self, 
      selector: "loopVideo", 
      name: AVPlayerItemDidPlayToEndTimeNotification, 
      object:nil) 




} 

回答

1

這應該工作:

充分利用playerLayer一個類的實例,並嘗試以下。 呼叫loopVideo方法中:

playerLayer.removeFromSuperlayer()

+0

添加烏爾線到我的DEINIT功能,但功耗仍攀升,是好像被刪除層,但仍然沒有釋放內存在我離開視圖 – snukumas

+0

後,圖層被刪除,但內存蠕變仍然發生,這可能是casE? – snukumas

+0

請分享您使用playerLayer.removeFromSuperlayer()的代碼塊。這將幫助我更好地理解您的問題。 – TechBee