2017-01-05 3 views
3

Immer wenn das Protokoll "Nachricht verwerfen" angezeigt wird, reagiert meine App nicht mehr. Es stürzt nicht ab, reagiert aber auch nicht auf Berührungen. Als ob alle Touch-Bedienung hält nach meiner App Boden nach hinten geht, und 2 bis 3 Minuten später, als meine App Vordergrund zu Boden und Touch-Menü geht, gibt es keine Antwort, und dann wenige Minuten später Dosis esVerwerfen der Nachricht für Ereignis 0 wegen zu vieler unverarbeiteter Nachrichten in Xcode 8

+0

Haben Sie irgendeine Lösung dafür bekommen? – UserDev

+0

Diese Nachrichten stammen vom Core Location Framework. Dies bedeutet, dass der CLLocationManager nicht im Hauptthread erstellt wurde. [Überprüfen Sie diesen Link] (https://stackoverflow.com/questions/7857323/ios5-what-does-discarding-message-for-event-0-because-of-too-many-unprocessed-m/8108274#8108274) – Balaji

+0

Hat es nichts damit zu tun, dass die App nicht reagiert? – UserDev

Antwort

2

Ich arbeite hatte genau das gleiche Verhalten. Das habe ich einige Zeit nach meiner Ankunft bemerkt.

Meine erste Schätzung war ein Speicherverlust oder vielleicht ein fehlender Thread aber Ich habe diese answer verwendet, um festzustellen, dass meine CPU in die Luft gesprengt wurde.

Dann verfolgt ich die Methode, die die gesamte CPU verwendet wurde, in meinem Fall war es eine Überprüfung auf einem UITextField über Regex. Nach einigen Recherchen wurde mir klar, dass ich eine catastrophic backtrack hatte. Ich habe meine Regex verbessert und alles läuft gut.

Ich hoffe, diese Antwort würde jedem helfen, der hier ankommt.

1

In meinem Fall die Log-Nachricht war

[Client] Discarding message for event 23 because of too many unprocessed messages 

Ich finde, dass es passiert, wenn ich einen bestimmten Breakpoint ermöglichen, die gibt den aktuellen Fortschritt eine NSURLSession Download-Aufgabe

Wenn ich es zu deaktivieren, die UI beginnt erneut zu antworten. Ich habe die Ursache dafür aber nicht gefunden

+0

irgendeine Lösung für oben ?, Ich stehe vor ähnlichen Problem beim Download Video. – UserDev

+0

Nein. Ich habe nicht viel gearbeitet, nachdem ich die Ursache gefunden habe. :) – humblePilgrim

0

Diese Nachrichten stammen aus Core Location Framework. Dies bedeutet, dass der CLLocationManager nicht im Hauptthread erstellt wurde.

Gibt es eine Beziehung zur nicht reagierenden App?

Ja. Wenn es in den Hintergrundmodus wechselt, nachdem die App irgendwann nicht mehr reagiert.

Verwandte Themen