2014-10-06 37 views
6

Uygulamamda yalnızca iOS 8'de (önceki iOS sürümlerinde değil) ana iş parçacığı donma işlemi görüyorum.
'u bir çok yerde kullanıyorum ve ayrıca RemoteIO kurulumunu kullanıyorum. Sorum şu: ana iş parçacığının tam olarak nerede kilitlendiğini ve o sırada ne yaptığı gibi ek bilgileri almamın nasıl hata ayıklaması yapmalıyım?
iOS ana iş parçacığı birkaç saniye donuyor

Xcode 6 kullanıyorum, lütfen bana hata ayıklamanın en iyi yolunu söyleyin.

DÜZENLEME: İşte Duraklatma'dan çıktı.

Sana bir dondurma sahip yaparken sadece ayıklayıcısında Pause basın öneririm neler olduğunu anlamak için ilk adım olarak

enter image description here

+0

Cihazlara bakınız. – dandan78

+1

Aletler -> Time Profiler – kabarga

cevap

9

enter image description here. Bu noktada hangi iş parçacığının olduğunu gösterecektir.

Hala yürütülmekte olan bir görev göreceksiniz veya bir yerde bir kilit olduğunu belirten msg_trap satırı göreceksiniz.

Buradan öğrendiklerinizi buraya gönderin.

+1

Tamam bu sabahtan beri beni çıldırdı. Başlangıçta asıl ipliği bulduğumda duruyorum. Yürütülecek 13 bekleyen bloğu gösterir. En üstte __semwait_signal gösterir, bu yüzden bazı etkinliklerin bitmesini bekleyen ana konu nedir? Soruyu soruya ekledim ve ekran görüntülerini ekledim. –

+0

Ne yaptığınızı doğru bir şekilde anlarsam, bir kameradan çekilen videolarda bazı işlemler gerçekleştirirsiniz. Yani ya her bir kareyi işlemek çok uzun sürüyor ya da geri arama çok sık aranıyor, bu yüzden aramalar arasında hiçbir şey yapamıyor. Kodun bu kadar olduğunu sanıyorum, şimdi Zaman Profiler yardımcı olabilir. – hybridcattt

+0

Aslında yapmam gereken pahalı bir şey yok ve yalnızca iOS 8'de gerçekleşiyor. IOS 8'de, bazen (her zaman değil) ana iş parçacığının başlangıçta birkaç saniye uyumasına neden olan bir hatayı keşfettiğime eminim. Uyku zamanı 1 sn ile 15 sn arasında değişir. Zaman profiler kullandım ve ana iş parçacığı uyuyarak çağırdığını gösterir. Ana iş parçacığı neden uykuda çağırıyor, anlamadığım şey. –

İlgili konular