Frage

Hier ist der Anrufcode:

[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification
                                                    object:[UIApplication sharedApplication]];

Es kann nicht aufrufen applicationDidReceiveMemoryWarning: aus UIApplicationDelegate.

Etwas falsch?

War es hilfreich?

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.

enter image description here

Was sollte funktionieren UIApplicationMemoryWarningNotification Anstatt von UIApplicationDidReceiveMemoryWarningNotification:

[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
        object:[UIApplication sharedApplication]];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top