私はAVfoundationを広範囲に利用するアプリを開発中です。最近、私はInstrumentsでいくつかのリークチェックを行った。 「リーク」楽器はこのように、私は新しいAVPlayerをインスタンス化されたコード内のa点でリークを報告したAVPlayersのinitメソッドにリークがありますか?
player1 = [AVPlayer playerWithPlayerItem:playerItem1];
は、問題を軽減するために、私は単一のために全く新しいXcodeプロジェクトを作成しましたARCを使用してアプリケーションを表示し、次の行に挿入します。
AVPlayer *player = [[AVPlayer alloc] init];
これは、Instrumentsで同じリークレポートを生成します。以下はスタックトレースです。なぜ[[AVPlayer alloc] init]への単純な呼び出しがリークの原因になるのか誰かが知っていますか?私はARCを使用していますが、私はそれをオフにして対応する[プレーヤーリリース]を挿入しようとしました。違いはありません。これはAVPlayerと特別に関係しているようです。
0 libsystem_c.dylib malloc
1 libsystem_c.dylib strdup
2 libnotify.dylib token_table_add
3 libnotify.dylib notify_register_check
4 AVFoundation -[AVPlayer(AVPlayerMultitaskSupport) _iapdExtendedModeIsActive]
5 AVFoundation -[AVPlayer init]
6 TestApp -[ViewController viewDidLoad] /Users/jason/Synaptic Revival/Project Field Trip/software development/TestApp/TestApp/ViewController.m:22
7 UIKit -[UIViewController view]
--- 2 frames omitted ---
10 UIKit -[UIWindow makeKeyAndVisible]
11 TestApp -[AppDelegate application:didFinishLaunchingWithOptions:] /Users/jason/Synaptic Revival/Project Field Trip/software development/TestApp/TestApp/AppDelegate.m:24
12 UIKit -[UIApplication _callInitializationDelegatesForURL:payload:suspended:]
--- 3 frames omitted ---
16 UIKit _UIApplicationHandleEvent
17 GraphicsServices PurpleEventCallback
18 CoreFoundation __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__
--- 3 frames omitted ---
22 CoreFoundation CFRunLoopRunInMode
23 UIKit -[UIApplication _run]
24 UIKit UIApplicationMain
25 TestApp main /Users/jason/software development/TestApp/TestApp/main.m:16
26 TestApp start
どこでも同じリークが見られますが、私はAVFoundationを使用していません。 –
私はAVURLAssetから取得したAVPlayerItemを持つAVPlayerを初期化するのと同じ動作を見ています。プレーヤーをグローバルにすることを考えてみましょう。これは本当にうんざりです。 – GnarlyDog