我正在使用mapbox在我的应用中显示该地点的位置。但我每次遇到这样的问题。当我关闭View时,地图内存仍然很忙。在打开此视图的5个中,我的应用程序崩溃了"由于内存问题而被终止"。我怎么解决呢?可能有一些方法来清除关闭这个视图与地图的记忆?我正在使用Swift
答案 0 :(得分:0)
此内存泄漏的主要原因是视图控制器可能尚未被释放。 您可以检查使用地图框图的视图控制器是否正确地取消分配。
您可以在视图控制器中使用以下代码,以了解在解除/弹出视图控制器或更改拥有地图的根视图控制器时是否已取消分配该代码。
deinit {
print("Memory to be released soon")
}
解: 如果未调用上述代码,请检查可能存在强引用的任何委托。您可以通过将其更改为弱引用来进行修复,如下所示。
protocol DealCellDelegate: class {
func method()
}
weak var delegate: MyViewControllerDelegate?
Checkout" Bonus:View Controller - 弱代表" https://samwize.com/2016/05/30/finding-retain-cycle-with-instruments/中的部分以获取更多信息。