0

我用于在我的应用程序YTPlayerView中显示YouTube视频。我使用该函数本地的变量来实例化YTPlayerViewinIBAction函数。类似于以下内容:

IBAction func presentPlayer(sender: UIButton){
    let playerViewController = UIStoryboard(name: "Player", bundle: nil).instantiateViewControllerWithIdentifier("YoutubePlayer") as! PlayerViewController
    self.presentViewController(playerViewController, animated: true, completion: nil)
}

有一个类型为的PlayerViewController类变量YTPlayerView。有一个完成按钮可以关闭PlayerViewController. 我的问题是内存水平没有下降到我展示播放器之前的水平。Instruments 显示了一些相关的内存泄漏,UIWebView但我无法找到源。任何帮助,将不胜感激。PlayerViewController当我关闭点击完成按钮时,这是我到目前为止所做的事情:

IBAction func donePressed(sender: UIButton){
    self.customYTPlayer.stopVideo()//customYTPlayer is my YTPlayerView
    self.customYTPlayer.removeWebView()
    self.removeYTPlayerSubviews(self.customYTPlayer)
    self.customYTPlayer=nil
}

removeYTPlayerSubviews我写的功能:

func removeYTPlayerSubviews(ytplayerView:UIView){
    if ytplayerView.subviews.count > 0{
        for subview in ytplayerView.subviews{
            subview.removeFromSuperview()
            self.removeYTPlayerSubviews(subview)
        }
    }
}
4

1 回答 1

0

明白了!!..在仪器中进行测试时,它在深入研究内存泄漏时显示了此消息

[UIWebSelectionAssistant addNonEditableForceTextSelectionGestureRecognizersToView:]

在网上搜索这个把我带到了https://forums.developer.apple.com/thread/25526

这里说这是 iOS 9 中的 UIWebView 问题,在 iOS 8 中不会发生。在 iOS 8 模拟器中运行我的应用程序时,我没有泄漏。所以我想这毕竟是苹果的问题。希望他们尽快解决...

于 2016-03-07T17:09:31.323 回答