Ich arbeite an einer App, die AVfoundation ausgiebig nutzt. Kürzlich habe ich einige Lecks mit Instrumenten überprüft. Das „Lecks“ Instrument wurde ein Leck an einem Punkt a in dem Code berichten, wo ich eine neue AVPlayer, wie diese Instanziierung:Gibt es ein Leck in der AVPlayers Init-Methode?
player1 = [AVPlayer playerWithPlayerItem:playerItem1];
das Problem zu reduzieren, habe ich ein völlig neues Xcode-Projekt mit einem einzigen Anwendung anzeigen, ARC verwenden und folgende Zeile einfügen.
AVPlayer *player = [[AVPlayer alloc] init];
Dies erzeugt den gleichen Leckbericht in Instruments. Unten ist die Stapelverfolgung. Weiß jemand, warum ein einfacher Aufruf von [[AVPlayer alloc] init] ein Leck verursachen würde? Obwohl ich ARC verwende, habe ich versucht, es auszuschalten und den entsprechenden [Player release] einzufügen; Anweisung und es macht keinen Unterschied. Dies scheint speziell mit AVPlayer zu tun zu haben.
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
Ich sehe das gleiche Leck überall und ich benutze AVFoundation nicht. –
Ich sehe das gleiche Verhalten bei der Installation eines AVPlayers mit einem AVPlayerItem, das von einem AVURLAsset abgerufen wurde. Wenn man bedenkt, dass der Spieler ein globales ist ... was wirklich nervt. – GnarlyDog