iOS Comment déterminer ce qui est le blocage de l'INTERFACE utilisateur

Je suis assez nouveau dans le développement d'iOS, mais je commence à comprendre quelques-uns des concepts les plus complexes. J'ai actuellement une application qui implémente un AVCam pour capturer de la vidéo. Le AVCam est créé sur un thread séparé, mais utilise un affichage qui est en mon principal xib fichier. Lorsque la caméra se fait capturer, il appelle une fonction complète dans mon ViewController classe. Au sein de la fonction complète j'appelle un certain nombre d'autres fonctions que la mise à jour de l'INTERFACE utilisateur ainsi que quelques NSLogs. Tout semble bien fonctionner, je vois les logs dans la console immédiatement, mais l'INTERFACE utilisateur prend 3 secondes pour mettre à jour. J'ai essayé à l'aide d'instruments à trouver le code fautif, mais je n'arrive pas à le trouver. Est-il une autre façon de déterminer ce qui est le blocage de l'INTERFACE utilisateur?

Voici le code appelé lorsque l'enregistrement est terminé;

-(void)movieRecordingCompleted{
       [HUD hide:YES];
        NSLog(@"movieRecordingCompleted");
        [self showModalViewController];
        NSString *pathToMovie = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/Movie.mov"];
        NSLog(@"pathToMovie: %@", pathToMovie);
        pathToTreatedVid = pathToMovie;
        NSLog(@"File Save Called");
        UISaveVideoAtPathToSavedPhotosAlbum(pathToMovie, nil, NULL, NULL);
}

Tout est connecté immédiatement, mais les progrès de la PALETTE et le modèle-vue-contrôleur ne se déclenche pas pendant 2 à 5 secondes, c'est très étrange.

Voici l'avant et l'après de l'état des fils (quand il est gelé vs quand il devient non gelée).
iOS Comment déterminer ce qui est le blocage de l'INTERFACE utilisateur
iOS Comment déterminer ce qui est le blocage de l'INTERFACE utilisateur

  • Merci de montrer un peu de code où vous mettez à jour l'INTERFACE utilisateur.
InformationsquelleAutor user379468 | 2013-04-10