Impossible de simuler l'invocation applicationDidReceiveMemoryWarning :?
-
24-10-2019 - |
Question
Voici le code d'appel:
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationDidReceiveMemoryWarningNotification
object:[UIApplication sharedApplication]];
Il ne peut invoquer applicationDidReceiveMemoryWarning:
de UIApplicationDelegate
.
Quelque chose ne va pas?
La solution
Vous ne pouvez pas simuler un avertissement de mémoire en affichant une notification. Le UIApplicationDidReceiveMemoryWarningNotification
est affiché par UIApplication
lorsqu'il reçoit un avertissement de mémoire, mais il ne l'observer, et donc ne pas appeler votre vue méthode de didReceiveMemoryWarning:
des contrôleurs lorsque vous postez une telle notification manuellement.
Comme Rob a déjà indiqué que, vous pouvez simuler un avertissement de mémoire dans le simulateur iOS en utilisant l'élément de menu « Simuler mémoire d'avertissement ».
Vous pouvez également observer la notification dans vos contrôleurs de vue, au lieu de mettre en œuvre didReceiveMemoryWarning:
, mais je ne recommande pas que, parce que le comportement des contrôleurs de vue fournis par le système peut être différent lorsque vous simuler une mémoire d'avertissement de cette façon.
Autres conseils
Dans le simulateur, utilisez le menu pour déclencher un faible avertissement de mémoire.
Que doit travailler utilise UIApplicationMemoryWarningNotification
au lieu de UIApplicationDidReceiveMemoryWarningNotification
:
[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
object:[UIApplication sharedApplication]];