0

アプリケーションでビデオYTPlayerViewを表示するために使用しています。その関数にローカルな変数を使用して関数内でYouTubeインスタンス化します。次のようなもの:YTPlayerViewIBAction

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 シミュレーターでアプリを実行しても、リークはありませんでした。結局、Appleの問題だと思います。彼らがすぐにそれを整理することを願っています...

于 2016-03-07T17:09:31.323 に答える