如何在所有项目中共享 1 个 MapView Swift 5
How to Share 1 MapView in all Project Swift 5
我想知道是否可以在整个项目中共享同一个 MKMapView
变量。
由于创建多个实例会大大增加内存。
一旦我打开一个只有 MapView 的新 view controller
,它就会增加 50Mb 的内存。当我关闭该视图控制器时,它只下降了大约 10Mb。
可以释放地图视图的所有内存吗?。还是创建单个 MapView 变量并执行 removeAnnotations 来创建注释更好...每次更改地图视图
var mapview = MKMapView()
解雇时viewcontroller
我这样做:(我不知道是否还需要其他任何东西。)
mapView.removeAnnotations(AllAnnotations)
mapView.delegate = nil
mapView.removeFromSuperview()
是的,创建很多项目会导致内存变高,即使调用 deinit
也是如此,因此您制作了 1 个全局地图
import MapKit
let map = MKMapView(frame:CGRect.zero)
当您需要在 vc 中显示它时,将其添加到带有约束的视图中,并在离开后将其删除
我想知道是否可以在整个项目中共享同一个 MKMapView
变量。
由于创建多个实例会大大增加内存。
一旦我打开一个只有 MapView 的新 view controller
,它就会增加 50Mb 的内存。当我关闭该视图控制器时,它只下降了大约 10Mb。
可以释放地图视图的所有内存吗?。还是创建单个 MapView 变量并执行 removeAnnotations 来创建注释更好...每次更改地图视图
var mapview = MKMapView()
解雇时viewcontroller
我这样做:(我不知道是否还需要其他任何东西。)
mapView.removeAnnotations(AllAnnotations)
mapView.delegate = nil
mapView.removeFromSuperview()
是的,创建很多项目会导致内存变高,即使调用 deinit
也是如此,因此您制作了 1 个全局地图
import MapKit
let map = MKMapView(frame:CGRect.zero)
当您需要在 vc 中显示它时,将其添加到带有约束的视图中,并在离开后将其删除