所以我有一个带有UIPageControl的UIScrollView,它有一堆MKMapViews(大多数是15个不同的地图)。一旦这个视图加载,应用程序真的很迟钝,经过几分钟的使用后,我得到一个内存警告。我在仪器中看了它,地图占用了大量的内存。有时甚至高达200mb。我能想到的一件事是重用mapViews。但是由于视图的结构如何,编码复杂性增加了。有什么建议我如何提高性能?
这就是我的应用程序的结构:
我有一个视图控制器,它有一个UIScrollView,我用它来进行水平滚动。在scrollView中,我从包含mkmapview的视图控制器数组中读取子视图。
希望有道理!我在编码时使用了Apple的pageControl示例应用程序作为参考点,因此设计大致相似。
提前致谢!
编辑:所以我尝试添加一个mapView实例并在滑动时更改坐标。它仍然需要相当多的内存。
答案 0 :(得分:0)
要在滚动视图中滚动任意数量的页面,您只需要两个内容视图,而不是15个。这是因为在任何给定时间都不会有超过两个内容视图可见。您可以使用UIScrollView
代理人的-scrollViewDidScroll:
方法重新布置内容。