Pregunta

Aquí está el código de llamadas:

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

No puede invocar applicationDidReceiveMemoryWarning: de UIApplicationDelegate.

¿Nada malo?

¿Fue útil?

Solución

No puede simular una advertencia de memoria publicando una notificación. los UIApplicationDidReceiveMemoryWarningNotification se publica por UIApplication Cuando recibe una advertencia de memoria, pero no la observa y, por lo tanto, no llama a sus controladores de vista ' didReceiveMemoryWarning: Método cuando publica una notificación de este tipo manualmente.

Sin embargo, como Rob ya señaló, puede simular una advertencia de memoria en el simulador de iOS utilizando el elemento del menú "Simular la advertencia de memoria".

También puede observar la notificación en sus controladores de visión, en lugar de implementar didReceiveMemoryWarning:, pero no recomendaría eso, porque el comportamiento de los controladores de visión suministrados por el sistema podría ser diferente cuando finges una advertencia de memoria de esa manera.

Otros consejos

En el simulador, use el menú para activar una advertencia de memoria baja.

enter image description here

Lo que debería trabajar es usar UIApplicationMemoryWarningNotification en vez de UIApplicationDidReceiveMemoryWarningNotification:

[[NSNotificationCenter defaultCenter] postNotificationName:@"UIApplicationMemoryWarningNotification"
        object:[UIApplication sharedApplication]];
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top