【发布时间】:2016-01-01 04:40:18
【问题描述】:
我正在使用 Xcode 7、Swift 和 iOS 9.0。
如果我...
- 用一些项目创建 AVQueuePlayer
- 开始播放
- 然后removeAllItems()...内存没有被释放。
如果调用这个函数,就会开始占用内存:
var queuePlayer: AVQueuePlayer!
func startAgain(){
if queuePlayer != nil{
queuePlayer.pause()
queuePlayer.removeAllItems()
queuePlayer = nil
}
var items: [AVPlayerItem] = []
for _ in 1 ... 10 {
items.append(AVPlayerItem(URL: NSBundle.mainBundle().URLForResource("Music", withExtension: "mp3")!))
}
queuePlayer = AVQueuePlayer(items: items)
queuePlayer.play()
NSTimer.scheduledTimerWithTimeInterval(5, target: self, selector: "startAgain", userInfo: nil, repeats: false)
}
我什至对 AVPlayerItem 和 AVURLAsset 进行了子类化,以查看它们是否被取消初始化......他们确实做到了!所以我不知道为什么会这样。
Using Instruments 我可以看到 VM: Performance tool data 正在使用内存并且它永远不会被释放。
你知道如何释放内存吗?
我应该如何处理 AVQueuePlayer 以释放内存?
【问题讨论】:
标签: ios swift memory memory-leaks ios9