Więc skonwertowałem teraz mój projekt, aby używać Swift 4 w Xcode 9, i zacząłem testować moją aplikację. Jest to duża aplikacja z czterema różnymi kartami i prawie wszystko działa zgodnie z oczekiwaniami. Jedną z kart jest mapa za pomocą GoogleMaps. Nigdy nie miałem z tym żadnych problemów, ale kiedy zbudowano go z Xcode 9 i pokazałem w Symulatorze, używa on przez 100% CPU podczas przesuwania mapy, i to jest bardzo opóźnione. Oto nawigator debugowania podczas działania na symulatorze. Wykonujemy rysunki niestandardowe, ale nie rysujemy wartości 102%.GoogleMaps na symulatorze w Xcode 9 używa ponad 100% procesora podczas przenoszenia mapy
tylko to zaczęło się dziać po I zaktualizowany do Xcode 9 i Swift 4. Gdy debugowanie w Xcode 9 na iPhone 7, 8 lub X symulatorze, wszystkie z iOS 11, przechodzi właśnie nad 100% CPU i całkowicie zatrzymuje aktualizację interfejsu na około jedną sekundę za każdym razem, gdy próbuję go przenieść. Uruchamiam gest przeciągania, ale interfejs aktualizuje się tylko raz na sekundę. Skutecznie daje mi około 1fps.
Jednak podczas debugowania w Xcode 9 na iPhone 6 symulatorze z iOS 9, to dostaje się do ~ 90% przy przesuwaniu mapy i nie pozostaje prawie tyle. Zgaduję, że mam tutaj około 20-30 fps. (Może to być ta sama liczba klatek na sekundę, jaką dostaję w symulatorze na Xcode 8. Map nigdy nie była naprawdę gładka na symulatorze.)
Podczas pracy na rzeczywistym urządzeniu (iPhone 7, iOS 11), procesor zużywa około 40% gdy ciągle porusza się po mapie i działa bardzo płynnie bez żadnych opóźnień (60fps).
Ja też się to na wyjściu, jak tylko otworzyć zakładkę z mapą, ale myślę, że to bez znaczenia dla tego konkretnego pytania:
Main Thread Checker: UI API called on a background thread: -[UIApplication applicationState]
PID: *****, TID: *******, Thread name: com.google.Maps.LabelingBehavior, Queue name: com.apple.root.default-qos.overcommit, QoS: 21
Ten mówi, że GoogleMapsAPI wzywa [UIApplication applicationState]
na wątek tła.
Używam najnowszej wersji GoogleMaps: 2.4.0. O ile mi wiadomo, ta wersja może nie obsługiwać Xcode 9/Swift 4 itd., Ale nie mogę znaleźć nic na temat nowej wersji.
myślę, że należy zwrócić ten temat form rozwoju google zbyt . Ponieważ mogliby nam dać odpowiedź. –
@AbuUlHassan Pomyślałem o tym, ale podali na stronie wsparcia dla GoogleMapsAPI, że StackOverflow i te niestandardowe tagi (mapy google) są monitorowane przez kilku członków zespołu GoogleMapsAPI i zachęcamy nas do korzystania z niego (https: // developers.google.com/maps/documentation/ios-sdk/support) Naprawdę nie podoba mi się ich tracker problemów. – Sti
@Sti Czy testowałeś to na prawdziwym urządzeniu? – Aznix