2

Я пишу расширение iOS, которое расширяет NEPacketTunnelProvider в структуре NetworkExtension, выпущенном в iOS 9. Я столкнулся с ситуацией, когда iOS убивает расширение, когда он удаляет 6 МБ используемой памяти ,Как обнаружить предупреждения о памяти в расширении приложения iOS

В обычном приложении iOS существует два способа обнаружения предупреждений памяти и что-то сделать. Либо через [UIApplicationDelegate applicationDidReceiveMemoryWarning:(UIApplication*)app], либо [UIViewController didReceiveMemoryWarning]

Есть ли аналогичный способ обнаружения предупреждений памяти в пределах внутренней линии? Я искал вверх и вниз документацию по расширению iOS, но до сих пор остался пустым.

ответ

1

Я не очень хорошо знаком с расширениями API, однако моя основная догадка говорит, что вы можете зарегистрировать любого из вашего объекта в качестве наблюдателей UIApplicationDidReceiveMemoryWarningNotification внутри этого класса:

NSNotificationCenter.defaultCenter().addObserverForName(UIApplicationDidReceiveMemoryWarningNotification, 
    object: nil, queue: .mainQueue()) { notification in 
    print("Memory warning received") 
} 
+0

@Grant Limberg @ozgur Я попытался это с NotificationServiceExtension, и блок никогда не запускается. Даже переходя в новый 'NSOperationQueue', чтобы блокировать огонь в его собственном потоке. – jkasten

 Смежные вопросы

  • Нет связанных вопросов^_^