Ios 由于内存问题,MapBox导致终止

Ios 由于内存问题,MapBox导致终止,ios,swift,memory,mapbox,Ios,Swift,Memory,Mapbox,我正在使用mapbox在我的应用程序中显示该地点的位置。但每次我遇到这样的问题时,我都会这样做。当我关闭视图时,地图内存仍然很忙。5次中的4次打开此视图后,我的应用程序崩溃,出现“由于内存问题而终止”。我怎样才能解决它?是否有一些方法可以清除使用地图关闭此视图时的内存?我使用的是Swift,内存泄漏的主要原因是视图控制器可能尚未释放。 您可以检查使用地图框地图的视图控制器是否正确解除分配 您可以在视图控制器中使用以下代码,以了解在关闭/弹出视图控制器或更改具有映射的根视图控制器时,该视图控制器是

我正在使用mapbox在我的应用程序中显示该地点的位置。但每次我遇到这样的问题时,我都会这样做。当我关闭视图时,地图内存仍然很忙。5次中的4次打开此视图后,我的应用程序崩溃,出现“由于内存问题而终止”。我怎样才能解决它?是否有一些方法可以清除使用地图关闭此视图时的内存?我使用的是Swift,内存泄漏的主要原因是视图控制器可能尚未释放。 您可以检查使用地图框地图的视图控制器是否正确解除分配

您可以在视图控制器中使用以下代码,以了解在关闭/弹出视图控制器或更改具有映射的根视图控制器时,该视图控制器是否已解除分配

deinit {
   print("Memory to be released soon")
}
解决方案: 如果没有调用上述代码,请检查是否存在强引用的任何委托。您可以通过将其更改为弱引用来修复它,如下所示

protocol DealCellDelegate: class {
    func method()
}

weak var delegate: MyViewControllerDelegate?

有关详细信息,请签出中的“奖金:查看控制器-弱代理”部分。

是。使用MapBox,您将在某个时间或稍后收到此问题。因为它使用了太多的内存。如果打开多次,就会出现此问题。你需要弄清楚你正在创建的对象,并且应该自己释放它们。这是你能解决这个问题的唯一方法。你能说怎么做吗?