저는 AVfoundation을 광범위하게 사용하는 앱을 만들고 있습니다. 최근에 인스 트루먼 트와 함께 누출 검사를했습니다. 은 "누수"악기 같이, 나는 새로운 AVPlayer를 인스턴스화 된 코드에서 A 점에서 누출을보고했다 :AVPlayers의 init 메소드에 누수가 있습니까?
player1 = [AVPlayer playerWithPlayerItem:playerItem1];
문제를 줄이기 위해, 내가 하나를 위해 함께 완전히 새로운 Xcode 프로젝트를 생성 ARC를 사용하여 응용 프로그램을보고 다음 줄을 입력하십시오.
AVPlayer *player = [[AVPlayer alloc] init];
이 경우 Instruments에서 동일한 누출 보고서가 생성됩니다. 아래는 스택 추적입니다. 누가 [[AVPlayer alloc] init에 대한 간단한 호출로 인해 누수가 발생하는지 알 수 있습니까? ARC를 사용하고 있지만, 나는 그것을 끄고 해당 [player release]를 삽입하려고 시도했다. 그것은 아무런 차이가 없습니다. 이것은 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