Я работаю над приложением, которое широко использует AVfoundation.Недавно я проверил некоторые утечки с помощью инструментов.Инструмент «утечки» сообщал об утечке в точке кода, где я создавал новый AVPlayer, например:
player1 = [AVPlayer playerWithPlayerItem:playerItem1];
Чтобы уменьшить проблему, я создал совершенно новый проект Xcode содно приложение просмотра, используя ARC, и вставьте следующую строку:
AVPlayer *player = [[AVPlayer alloc] init];
Это создает такой же отчет об утечке в приборах.Ниже приведена трассировка стека.Кто-нибудь знает, почему простой вызов [[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