GMSMapView Энергетическое воздействие

В настоящее время я использую GMSMapView в своем быстром приложении, и воздействие энергии никогда не уменьшается (как использование ЦП или использование памяти).

Кто-нибудь уже сталкивался с этой проблемой?

Использование Карт Google 2.0.1

Мониторинг Xcode

Энергетическое воздействие


person CZ54    schedule 29.08.2016    source источник


Ответы (3)


Я нашел ответ сам. Это связано со свойством GMSMarker.tracksViewChanges.

Переключение на false для всех добавленных маркеров освобождает ЦП.

person CZ54    schedule 26.06.2018

Сделать false из свойства объекта GMSMarker() tracksViewChanges и tracksInfoWindowChanges

let placeMarker = GMSMarker()
placeMarker.tracksViewChanges = false
placeMarker.tracksInfoWindowChanges = false

Это снизит индикатор часов энергетического воздействия.

person Abhishek Mitra    schedule 19.10.2019
comment
Я уже использовал свойство trackViewChanges, но теперь добавил trackInfoWindowChanges как false, и это показывает значительное улучшение. - person prabhu; 13.04.2020

Я обнаружил, что карты Google также потребляют много памяти. У меня тоже сработало изменение trackViewChanges.

Другой подход, который я пробовал, когда рендеринг занимал слишком много времени, заключается в разделении рендеринга маркеров или представлений на карте.

Вы можете использовать методы делегата GMSMapView

  • mapViewDidStartTileRendering(_mapView: GMSMapView) и
  • mapViewDidFinishTileRendering(_ mapView: GMSMapView)

чтобы узнать, когда рендеринг завершен, и добавить новые элементы.

person sheinix    schedule 08.08.2018