Pregunta

Mi aplicación ha terminado y funciona muy bien. ¡Así que ahora lo ejecuté en un viejo iPhone y la aplicación tarda 17.3 segundos en comenzar!?!?! Pasé mucho tiempo investigándolo y descubrí que la razón por la que tarda tanto en cargar es que tengo muchas vistas y cada vista tiene una imagen de fondo PNG. Todas mis puntos de vista y hechas en IB y en mi código:

#import "MyTestAppDelegate.h"
#import "MyTestViewController.h"

@implementation MyTestAppDelegate

@synthesize window;
@synthesize viewController;


- (void)applicationDidFinishLaunching:(UIApplication *)application {    

    // Override point for customization after app launch 

    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
}


- (void)dealloc {
    [viewController release];
    [window release];
    [super dealloc];
}
@end

Al final del código donde dice:

[window addSubview:viewController.view];

La aplicación parece estar cargando todas las vistas en la punta al mismo tiempo. Todos los PNG de todas las vistas son de aproximadamente 12 MB. No es necesario que la aplicación cargue todas las vistas al mismo tiempo durante el inicio.

¿Hay alguna manera de cargar la primera vista de "hogar" en el inicio? (Todas las vistas son parte de la misma punta).

¿Fue útil?

Solución

Puede intentar dividir sus puntos de vista en diferentes puntas. Usando una punta para un solo UIViewController y UIView parece ser la forma recomendada.

Si hace eso, la vista solo se cargará cuando se acceda por primera vez.

Otros consejos

Cuando carga una punta, el tiempo de ejecución instancia todos los objetos congelados secados en la punta. Si tiene todas sus vistas en una sola punta, cada vista se inicializará y cargará incluso si no es visible. De lo contrario, los enlaces en la punta no se pueden resolver.

Por lo general, cada NIB debe ser un par de vista/vista de controlador. Los controladores de vista múltiples se pueden colocar en la misma punta de manera segura porque generalmente son objetos relativamente livianos.

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