2

所以我有一个带有 UIPageControl 的 UIScrollView,它有一堆 MKMapViews(主要是 15 个不同的地图)。加载此视图后,该应用程序非常缓慢,并且在使用几分钟后,我收到了内存警告。我在 Instruments 中查看了它,地图占用了大量内存。有时甚至高达〜200mb。我能想到的一件事是重用mapViews。但是由于视图的结构方式,编码的复杂性增加了。有什么建议可以提高性能吗?

这是我的应用程序的结构:

我有一个视图控制器,它有一个用于水平滚动的 UIScrollView。在滚动视图中,我从包含 mkmapview 的视图控制器数组中读取子视图。

希望这是有道理的!我在编码时使用了 Apple 的 pageControl 示例应用程序作为参考点,因此设计大致相似。

提前致谢!

编辑:所以我尝试添加 mapView 的单个实例并更改滑动时的坐标。它仍然需要相当多的内存。

4

1 回答 1

0

要在滚动视图中滚动任意数量的页面,您只需要两个内容视图,而不是 15 个。这是因为在任何给定时间都不会有超过两个可见的内容视图。UIScrollView您可以在委托的-scrollViewDidScroll:方法中重新布局您的内容。

于 2012-08-16T08:13:27.807 回答