gpt4 book ai didi

xcode - 简单菜单应用程序内存溢出

转载 作者:行者123 更新时间:2023-11-30 13:42:57 25 4
gpt4 key购买 nike

我本质上有一个菜单,其中显示一堆按钮,每次单击其中一个按钮时,它都会导致相同的 View ,该 View 根据从菜单中选择的项目而显示不同,还有一个 mp4 正在播放。每次我进入其中一个项目(不同的 View )或返回菜单时,我的内存力都会增加并且永远不会下降,如果有任何区别, View 都会以模态方式呈现。我猜蠕变是由 mp4 引起的,我该如何解决这个问题?

import Foundation
import UIKit
import AVKit
import AVFoundation

class menu : UIViewController {


var info : AVPlayer?
var count = 0

@IBAction func instrumentas2(sender: UIButton) {
count = 2
}
@IBAction func instrumentas1(sender: UIButton) {
count = 1
}
@IBAction func instrumentas0(sender: UIButton) {
count = 0 }


override func viewWillAppear(animated: Bool) {


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


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



let playerLayer = AVPlayerLayer(player: info)
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)

info?.play()

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




}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
NSNotificationCenter.defaultCenter().removeObserver(self, name:AVPlayerItemDidPlayToEndTimeNotification, object: nil)
let du:display = segue.destinationViewController as! display
du.skaicius = count

}

func loopVideo() {
info?.seekToTime(kCMTimeZero)
info?.play()
}
}

我发布整个内容是因为我真的不确定是什么原因造成的。

最佳答案

这行代码:

 view.layer.addSublayer(playerLayer)

正在添加子层。您是否删除过它们?

关于xcode - 简单菜单应用程序内存溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35346562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com