2012-03-29 2 views
4

저는 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 
+0

어디서나 동일한 누수가 발생하며 AVFoundation을 사용하지 않습니다. –

+0

AVURLAsset에서 검색 한 AVPlayerItem을 사용하여 AVPlayer를 초기화하는 것과 동일한 동작이 나타납니다. 플레이어를 글로벌하게 만드는 것을 고려하면 ... 정말 짜증납니다. – GnarlyDog

답변

3

이 48 바이트 누수가 (내가 응용 프로그램은 두 구성 요소를 사용하는 일이있다.)

이를 참조하십시오 AVPlayer를 에서뿐만 아니라있는 UIScrollView에 살고뿐만 아니라 알려진 문제로 애플에 의해 확인 세부 얻기 위해 스레드 : 여기 Memory leak every time UIScrollView is released

이 THEAD에 사과의 대답에 대한 링크입니다 (당신은에 로그인 할 때 개발자 ID를해야 할 수도 있습니다) : https://devforums.apple.com/thread/144449?start=0&tstart=0

pple의 간단한 인용문 :

다음 버그는 향후 릴리스에서 해결 될 예정입니다. 그동안 모든 누수가 분명히 바람직하지는 않지만 현실 세계에서 사용자가 볼 수있는 문제는 발생하지 않습니다. 사용자는 1 메가 바이트의 메모리를 유출하기 위해 대략 22,000 번 스크롤해야하므로 매일 사용에 영향을 미치지 않습니다.

notify_register_check 및 notify_register_mach_port를 참조하는 구성 요소가이 문제를 일으킬 것으로 보입니다.

현재 명백한 산책이나 수정 사항을 찾을 수 없습니다. 5.1 및 5.1.1 용 iOS 버전에는이 문제가 남아 있음이 확인되었습니다. 잘만되면 사과는 iOS 6에서이를 고칠 수 있습니다. 실제로 짜증나고 파괴적이기 때문입니다.

+0

"Apple에 의해 확인 된"소스에 연결할 수 있습니까? –

관련 문제