我正在为 iPhone 编写地图应用程序,例如Google地图,但使用我自己的地图。
到目前为止,我的工作正在进行,但遗憾的是,比我想要的要慢。
我基本上在每个drawRect
中绘制正确的地图图块:
[image drawAtPoint:CGPointMake(x, y)];
在每次调用drawRect
时计算X和Y
(这些计算不是很贵)。
一次绘制的最大图像数为4
每张图片均为512 x 512
。
我觉得这里缺乏某种优化。
任何人都可以帮忙吗? 谢谢大家。
答案 0 :(得分:1)
为什么不为每个磁贴创建UIImageView对象?
无需在drawRect中绘制每个图像,只需将UIIMageView移动到layoutSubviews中的正确位置
UIImageView将在需要时处理绘图,并将其缓存为绘制的rect。每次调用drawRect时,您都会重新渲染每个图像。
当您制作UIImageView对象时,权衡可能会消耗更多内存,但如果需要,您可以找到一个方案来释放未显示的方案。
答案 1 :(得分:1)
查看Apple关于使用平铺滚动视图的开发人员说明。它可以自动执行您想要的操作。