2012-03-29 11 views
4

私は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 
+0

どこでも同じリークが見られますが、私はAVFoundationを使用していません。 –

+0

私はAVURLAssetから取得したAVPlayerItemを持つAVPlayerを初期化するのと同じ動作を見ています。プレーヤーをグローバルにすることを考えてみましょう。これは本当にうんざりです。 – GnarlyDog

答えて

3

この48バイトリーク(私はアプリは、両方のコンポーネントを使用するように起こっている。)

これを確認してくださいAVPlayerにもUIScrollViewのに住んでいるだけではなく、既知の問題、とAppleが確認されています詳細を取得するためのスレッド: Memory leak every time UIScrollView is released

ここthead要素にリンゴの答えへのリンク(あなたが署名する開発者IDが必要になる場合があります)です。 https://devforums.apple.com/thread/144449?start=0&tstart=0

Aは、 ppleの簡単な見積もり:

これは、将来のリリースで修正される予定の既知のバグです。 一方、すべてのリークは明らかに望ましくありませんが、現実世界でユーザーが目にする問題を引き起こすことはありません。 1メガバイトのメモリをリークするには、ユーザーは約22,000回スクロールしなければならないため、毎日の使用には影響しません。

notify_register_checkとnotify_register_mach_portを参照するコンポーネントは、この問題を引き起こす可能性があります。

現在のところ、歩き回ったり修正したりすることはできません。この問題は、5.1および5.1.1のiOSバージョンに残っていることが確認されています。うまくいけば、リンゴはiOS 6でそれを修正することができます。本当に面倒で破壊的なのでです。

+0

"Appleによって確認されました"のソースにリンクできますか? –

関連する問題