В настоящее время я использую GMSMapView в своем быстром приложении, и воздействие энергии никогда не уменьшается (как использование ЦП или использование памяти).
Кто-нибудь уже сталкивался с этой проблемой?
Использование Карт Google 2.0.1
В настоящее время я использую GMSMapView в своем быстром приложении, и воздействие энергии никогда не уменьшается (как использование ЦП или использование памяти).
Кто-нибудь уже сталкивался с этой проблемой?
Использование Карт Google 2.0.1
Я нашел ответ сам. Это связано со свойством GMSMarker.tracksViewChanges
.
Переключение на false
для всех добавленных маркеров освобождает ЦП.
Сделать false
из свойства объекта GMSMarker()
tracksViewChanges
и tracksInfoWindowChanges
let placeMarker = GMSMarker()
placeMarker.tracksViewChanges = false
placeMarker.tracksInfoWindowChanges = false
Это снизит индикатор часов энергетического воздействия.
Я обнаружил, что карты Google также потребляют много памяти. У меня тоже сработало изменение trackViewChanges.
Другой подход, который я пробовал, когда рендеринг занимал слишком много времени, заключается в разделении рендеринга маркеров или представлений на карте.
Вы можете использовать методы делегата GMSMapView
mapViewDidStartTileRendering(_mapView: GMSMapView)
иmapViewDidFinishTileRendering(_ mapView: GMSMapView)
чтобы узнать, когда рендеринг завершен, и добавить новые элементы.