iOS geliştirmede oldukça yeniyim, ancak daha karmaşık kavramların bazılarını anlamaya başladım. Şu anda video çekmek için bir AVCam uygulayan bir uygulama var. AVCam ayrı bir iş parçacığı üzerinde oluşturulur, ancak ana xib dosyamdaki bir görünümü kullanır. Kamera çekimi tamamlandığında, ViewController sınıfımda tam bir işlevi çağırır. Tam işlev içinde, UI'yi ve birkaç NSLog'u güncelleyen bir dizi başka işlevi çağırıyorum. Her şey iyi çalışıyor gibi görünüyor, hemen konsolda günlükleri görüyorum, ancak UI güncellemek için 3 saniye sürüyor. Rahatsız edici kodu bulmak için enstrümanlar kullanmayı denedim, ancak onu bulamıyorum. Kullanıcı arayüzü tarafından neyin engellendiğini belirlemenin başka bir yolu var mı?iOS UI'nin neden engellendiğini belirleme
Kayıt tamamlandığında çağrılan kod İşte;
-(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);
}
Herşey hemen kaydedilir, ancak ilerleme HUD ve modal görünümü kontrolörü yaklaşık 2 için tetiklemez - 5 saniye, bu çok tuhaf.
Aşağıda, iş parçacıklarının önceki ve sonraki durumları (donuk hale geldiğinde donmuş olduğu zaman).
Lütfen UI'yi güncellediğiniz bazı kodları gösterin. –