Mapkit不要轻易设置mapView.showsUserLocation = true
通过Xcode Energe Impact面板可以看到各个部分对电量消耗的占比,下图是mapView.showsUserLocation = false和mapView.showsUserLocation = true的电量消耗的前后对比:
可以看到,Location部分占用很高,对电量的影响很大
为什么
当设置 mapView.showsUserLocation = true时,地图会自动创建一个定位管理类CLLocationManager,会持续更新用户当前位置
如何优化
如果仅仅想显示用户当前位置,又不需要持续跟踪,无需开启这个方法,可以用自定义annotationView显示当前用户位置来优化性能