2

我正在寫一個iOS擴展,它在iOS 9中發佈的NetworkExtension框架中擴展了NEPacketTunnelProvider。我遇到了iOS使用6MB內存。如何檢測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

相關問題