Das Aufrufen von ApplicationDidreceivememoryWarning kann nicht simulieren :?
-
24-10-2019 - |
Frage
Hier ist der Anrufcode:
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification
object:[UIApplication sharedApplication]];
Es kann nicht aufrufen applicationDidReceiveMemoryWarning:
aus UIApplicationDelegate
.
Etwas falsch?
Lösung
Sie können eine Speicherwarnung nicht simulieren, indem Sie eine Benachrichtigung veröffentlichen. Das UIApplicationDidReceiveMemoryWarningNotification
ist geposted durch UIApplication
Wenn es eine Speicherwarnung erhält, es aber nicht beobachtet und daher Ihre Ansichtsregler nicht bezeichnet. didReceiveMemoryWarning:
Methode, wenn Sie eine solche Benachrichtigung manuell veröffentlichen.
Wie Rob jedoch bereits betonte, können Sie eine Speicherwarnung im iOS -Simulator simulieren, indem Sie den Menüpunkt "Speicherwarnung simulieren" verwenden.
Sie können auch die Benachrichtigung in Ihren Ansichtscontrollern beobachten, anstatt implementieren didReceiveMemoryWarning:
, aber ich würde das nicht empfehlen, weil das Verhalten von Systemsteuerungen für systembedingte Ansichten unterschiedlich sein könnte, wenn Sie eine Speicherwarnung auf diese Weise vortäuschen.
Andere Tipps
Verwenden Sie im Simulator das Menü, um eine Warnung mit niedrigem Speicher auszulösen.
Was sollte funktionieren UIApplicationMemoryWarningNotification
Anstatt von UIApplicationDidReceiveMemoryWarningNotification
:
[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
object:[UIApplication sharedApplication]];