J'aimerais bien tester les fonctions de mon application dans des conditions de mémoire faible, mais c'est difficile à tester. Comment puis-je induire des avertissements de mémoire insuffisante qui déclenchent la méthode didReceiveMemoryWarning dans mes vues lorsque l'application s'exécute sur l'appareil, pas sur le simulateur? Ou comment puis-je tester mon application dans ces conditions possibles?
La raison pour laquelle je ne peux pas utiliser le simulateur est que mon application utilise Game Center et que les invitations ne fonctionnent pas sur le simulateur.
Vous pouvez appeler la méthode privée :
N'oubliez pas de l'utiliser uniquement lors du débogage, sinon votre application sera rejetée.
la source
po [[UIApplication sharedApplication]performSelector:@selector(_performMemoryWarning)]
expr (void)[[UIApplication sharedApplication] performSelector:@selector(_performMemoryWarning)];
expr (void)[[UIApplication sharedApplication] _performMemoryWarning]
expr UIApplication.sharedApplication().performSelector("_performMemoryWarning")
au lieu d'utiliser l'habituel#selector
L'
Simulate Memory Warning
élément de menu du simulateur iOS vous permet de simuler un avertissement de mémoire.la source
À l'aide d'instruments, utilisez l'élément de menu: Instrument -> Simulate Memory Warning.
Pour utiliser Instruments sur votre application à partir de Xcode, utilisez l'élément de menu Produit -> Profil.
la source
J'ai réécrit la réponse d'Enzo Tran dans Swift:
la source
Si quelqu'un, pour une raison quelconque, essaie de le faire dans Swift 4 - voici comment allouer 1,2 Go de RAM.
la source
Theres une commande de menu qui l'invoquera.
Hardware > Simulate Memory Warning
du simulateur.la source
Conversion de @ChikabuZ en Swift 3:
la source
Si quelqu'un, pour une raison quelconque, essaie de le faire dans Swift 3 - voici comment allouer 1,2 Go de RAM.
la source
Swift 4:
UIApplication.shared.perform (Selector (("_ performMemoryWarning")))
Peut exécuter ce qui précède en réponse à un événement / notification.
la source