2010-02-20 20 views

Respuesta

8

Debe utilizar "Carga diferida" de datos en todas sus vistas. Por ejemplo, si está mostrando una lista de datos en una vista de tabla, debe liberar los datos cuando su controlador de vista reciba un didReceiveMemoryWarning y configure el puntero de datos en cero.

La mayor parte del código de muestra de Apple hace hincapié en esta técnica de carga diferida.

applicationDidReceiveMemoryWarning es un mensaje similar enviado a su AppDelegate. Debe liberar datos globales no deseados que almacene en su AppDelegate.

Un ejemplo clásico es Safari. Abre dice 2-3 pestañas en Safari (en el simulador de iPhone). Deje que todas las pestañas carguen el contenido de la página web. Intente cambiar entre diferentes pestañas. Debería observar que el contenido permanece allí y no se vacía. Ahora, desde el menú, cierre "Simular advertencia de memoria". Ahora cuando cambie a una pestaña diferente, Safari obtendrá los contenidos nuevamente. Internamente, lo que sucedió es que la URL se recuerda, pero todo el contenido de la página web se publicó en el método didReceiveMemoryWarning.

También debe implementar mecanismos similares en su aplicación.

Cuestiones relacionadas