1

我在我的应用程序中使用 MapBox 进行导航。选择源和目标后,我通过显示屏幕将其重定向到 Mapbox SDK。此时我的内存增加了 180mb,从控制器关闭后,我的内存没有释放,并且不断增加。我在 viewDidDisappear 上做了以下操作。

override func viewWillDisappear(_ animated: Bool) {
    UIApplication.shared.isIdleTimerDisabled = false
    locationManager.showsBackgroundLocationIndicator = false
    mapview = nil
    suspendNotifications()
    routeController.suspendLocationUpdates()
    
}

在不同位置多次出现和关闭后,内存增加到 680MB,并且在一段时间后应用程序崩溃。

我附上了仪器屏幕,它显示了在关闭控制器后增加的 mapbox 功能。

在此处输入图像描述 在此处输入图像描述

4

1 回答 1

0

deinit在方法中添加清理代码

  deinit {
    UIApplication.shared.isIdleTimerDisabled = false
    locationManager.showsBackgroundLocationIndicator = false
    mapview = nil
    suspendNotifications()
    routeController.suspendLocationUpdates()
 }
于 2020-07-10T08:01:56.173 回答