我想知道是否可以MKMapView在整個專案中共享相同的變數。由于創建多個實體會顯著增加記憶體。只要我view controller用 MapView 打開一個新的,它就會增加 50Mb 的記憶體。當我關閉那個視圖控制器時,它只下降了大約 10Mb。
是否可以釋放地圖視圖的所有記憶體?還是創建單個 MapView 變數并執行 removeAnnotations 以創建注釋更好...每次更改地圖視圖
var mapview = MKMapView()
解雇時viewcontroller我這樣做:(我不知道是否需要其他任何東西。)
mapView.removeAnnotations(AllAnnotations)
mapView.delegate = nil
mapView.removeFromSuperview()
uj5u.com熱心網友回復:
是的,即使deinit被呼叫,創建許多專案也會導致記憶體變高,因此您制作 1 個全域地圖
import MapKit
let map = MKMapView(frame:CGRect.zero)
并且當您需要在 vc 中顯示它時,將其添加到帶有約束的視圖中,然后在離開后將其洗掉
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/429689.html
上一篇:Swift設定默認值參考系結
