Pregunta

Para ser claros, esto es para una aplicación normal de iPhone, y no un juego.

He leído en la web varias veces algunos desarrolladores mencionando que estaban trabajando arduamente para mejorar / reducir el tiempo de inicio de sus aplicaciones, pero nunca con una buena información de fondo sobre cómo hacerlo.

Entonces la pregunta es simple: ¿cómo puede reducir el inicio de las aplicaciones de iPhone?

¿Fue útil?

Solución

Igual que cualquier otro problema de rendimiento: use Shark y / o Instruments para identificar cuellos de botella en su código, y luego concéntrese en cómo puede acelerar las cosas allí. Cada herramienta le dará una idea de cuánto tiempo pasó en qué partes de su código, por lo que el esquema general sería ejecutar la herramienta mientras inicia la aplicación y luego estudia detenidamente los datos para ver dónde ocurren los impactos de rendimiento.

En el momento de inicio de la aplicación, los candidatos más probables para la mejora serán aplazar la carga de datos hasta más adelante, cuando sea realmente necesario, que se describe de forma variada como " a pedido " o " perezoso " cargando. Básicamente, no cargue ningún dato al inicio de la aplicación a menos que realmente sea necesario de inmediato cuando se cargue . En la práctica, muchas cosas que pueden ser necesarias en algún momento no tienen que estar disponibles inmediatamente cuando se inicia la aplicación. Por ejemplo, si tiene una base de datos de N registros pero solo se ve uno a la vez, no cargue toda la N en la memoria al momento de iniciar la aplicación. Cargue cualquiera que sea el registro actual y luego cargue los demás cuando realmente los necesite.

Otros consejos

James Thomson hizo una bonita publicación en el blog que documenta su esfuerzos para acelerar el lanzamiento de PCalc .

De particular interés es su uso de la imagen con la captura de pantalla de la última aplicación ejecutada, para hacer el mismo truco que Default.png hace, mientras se carga el resto de la aplicación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top