我的目標是:當用戶使用我的應用程序時,智能管理用戶手機內存和電池的使用。iOS Swift:谷歌地圖和MapKit訪問使內存使用量翻倍
我在我的iOS應用程序中使用MapKit和Google地圖。最初,當應用程序啓動時,我要求授權訪問該位置(我稍後在應用程序中使用該位置)。
我正在使用地圖的第一個地方是獲取路線。 授權代碼如下:我在哪裏使用地圖
func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLAuthorizationStatus) {
if status == CLAuthorizationStatus.AuthorizedWhenInUse {
viewMap.myLocationEnabled = true
} else if status == CLAuthorizationStatus.NotDetermined {
println("Location disabled")
viewMap.myLocationEnabled = false
}
}
第二位的是我的第一張地圖的訪問期間檢索在特定位置創建了一些數據。基本上只是當前位置如下。
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.delegate = self
locationManager.requestWhenInUseAuthorization()
locationManager.startUpdatingLocation()
startLocation = nil
一次我的位置,我稱之爲:
locationManager.stopUpdatingLocation()
的問題是:一旦應用程序啓動,我可以看到(在狀態欄上的小三角形)的標誌,說明GPS處於活動狀態並訪問該位置。它始終保持在我的應用程序處於活動狀態(即使它在後臺)。在我強制退出應用程序(多任務菜單向上滑動至退出)之前,GPS接入標誌將保持打開狀態。一旦用戶訪問地圖,內存使用量翻倍(40Mb到100mb),並在用戶滾動Google地圖視圖時持續增加。即使我退出地圖,記憶仍保持在100+ mbs。
我想知道的是, - 我在這裏正確使用地圖嗎? - 我還能做什麼,除非我真的需要它,否則我不使用GPS?退出正在訪問地圖的viewControllers後,是否可以調用一個函數? - 其他任何有用的東西?
謝謝。
謝謝。我只是想知道在普通地圖訪問中使用+ 100Mb是否正常。只是爲了確保我沒有不必要的浪費能源。 –