所以,現在我已經將我的項目使用斯威夫特4在Xcode 9時,並已開始測試我的應用程序在Xcode 9模擬器的GoogleMaps使用了超過100%的CPU。這是一個包含四個不同標籤的大應用程序,幾乎所有內容都按預期工作。其中一個標籤是使用GoogleMaps的地圖。我從未有過任何麻煩,但是當在Xcode 9建成並顯示在模擬器,其移動地圖時使用的CPU的超過 100%,而且滯後很多。 這是在模擬器上運行時的調試導航器。 我們做了一些自定義繪製,但值得借鑑的不是102%。移動地圖
這隻開始發生我更新的Xcode 9和斯威夫特4 當在Xcode 9在iPhone 7,8或X 模擬器,都與iOS 11調試完畢後,它會略高於100%的CPU,並且每次我嘗試移動它時都會使UI停止更新大約一秒鐘。我開始拖動手勢,但UI只更新一次。有效地給我講述1fps。
然而,在Xcode 9上的iPhone 6 模擬器與的iOS 9調試時,它就會達到〜移動地圖,而不是落後幾乎一樣時90%。我猜我在這裏得到20-30 fps。 (這可能是相同的FPS我在模擬器得到的Xcode 8.地圖從未在模擬器真正流暢..)
當實際設備上運行(iPhone 7,iOS的11),CPU使用約40%當不斷移動地圖時,工作非常流暢,根本沒有滯後(60fps)。
我也在輸出,只要我打開與地圖的標籤上找到這一點,但我認爲這是不相關的,以這種特殊的問題:
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
這是說GoogleMapsAPI呼籲[UIApplication applicationState]
在後臺線程。 。
我正在使用GoogleMaps的最新版本:2.4.0。據我所知,這個版本可能不支持Xcode 9/Swift 4等,但我找不到任何有關新版本的信息。
我想你應該問這對谷歌開發的形式太。因爲他們可以給我們打電話給我們。 –
@AbuUlHassan我想過了,但他們在GoogleMapsAPI的支持頁面上聲明,StackOverflow和這些自定義標記(谷歌地圖)由GoogleMapsAPI團隊的幾個成員監視,並鼓勵我們使用它(https:// developers.google.com/maps/documentation/ios-sdk/support)我真的不喜歡他們的問題跟蹤器。 – Sti
@Sti您是否在真實設備上測試過它? – Aznix