You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AVPlayer内存泄漏排查:是Bug还是实现问题?

AVPlayer内存泄漏排查与修复求助

我正在开发一款音频播放器项目,近期发现存在内存泄漏问题。经过数日调试无果后,我创建了一个基于AVPlayer的简化项目来进一步分析问题,代码如下:

import SwiftUI
import AVKit

struct ContentView: View { 
    @State private var player: AVPlayer? = nil
    
    var body: some View {
        VStack {
            Text("Audio Player")
                .font(.title)
                .padding()

            if player != nil {
                Button(action: {
                    if player?.timeControlStatus == .playing {
                        player?.pause()
                    } else {
                        player?.play()
                    }
                }) {
                    Text(player?.timeControlStatus == .playing ? "Pause" : "Play")
                        .font(.headline)
                        .padding()
                        .background(Color.blue)
                        .foregroundColor(.white)
                        .cornerRadius(10)
                }
            } else {
                Text("Loading Audio...")
            }
        }
        .onAppear {
            let url = URL(string: "https://d12wklypp119aj.cloudfront.net/track/86d38d9a-2f4b-44ae-a77f-a72e034f6d54.mp3")!
            player = AVPlayer(url: url)
        }
        .onDisappear {
            player?.pause()
        }
    }
}

有趣的是,这个简化项目同样出现了内存泄漏!我想知道这是AVPlayer的Bug,还是我的实现存在问题?有没有人遇到过类似的AVPlayer内存泄漏问题?请问排查和修复该泄漏的建议步骤有哪些?感谢您的见解!

内存泄漏截图1
内存泄漏截图2

内容的提问来源于stack exchange,提问作者Rditsh Pro

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 00:44:57