我正在开发一个基于企业地图的应用程序,它需要显示从大量员工那里收集的信息,并将其全部显示在每个员工的 iPad 上。因此,地图上的标记数量可能会迅速增长(数千)。此外,每个标记都将由一个 NSManagedObject 子类支持,该子类在标记存在时保存在内存中。
我正在使用 Google Maps iOS SDK,问题是,即使没有任何标记,只是平移和缩放会导致内存使用量的大幅增加。启动时应用程序的脏内存大小为 100MB(使用分配工具)。一点点平移和缩放就可以快速拍摄到 300,问题是当我停止平移和缩放时,内存永远不会下降。同样,如果我有很多标记并且我删除它们,同样不会减少内存(当我删除标记时,我确保不保留对任何对象的任何引用)。唯一一次内存下降是当我更改地图类型时。如果我在街景中平移/缩放很多,然后切换到卫星视图,脏内存会突然下降 50MB+。
所以我想知道是否有人在使用谷歌地图时有任何处理内存的技巧,或者关于谷歌地图如何管理/释放内存的任何信息?