[英]How to stop AVQueuePlayer memory leak?
我正在使用Xcode 7,Swift和iOS 9.0。
如果我...
如果調用此函數,它將開始占用內存:
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子類化 ,看它們是否被初始化了……而且它們確實可以! 所以我不知道為什么會這樣。
使用儀器我可以看到VM:性能工具數據正在使用內存,並且永遠不會釋放。
您有什么想法釋放內存嗎?
我應該如何使用AVQueuePlayer釋放內存?
您需要注意釋放當前的數組變量項:[AVPlayerItem]。 最好將其創建為類屬性。 根據您的代碼,計時器不會失效,因此它將保留舊數組。 最佳做法是在創建新計時器之前釋放舊計時器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.