几个月前我从苹果网站上找到了一个非常棒的示例代码。这个示例被称为“LargeImageDownsizing”,奇妙的是它解释了很多关于如何从资源中读取图像然后在屏幕上呈现。
挖掘该代码我发现了一些让我感到不安的东西。尺寸缩小的图像被传递到具有CATiledLayer的视图,但是不会在每个图块上提供一张图片来提高内存性能,只需设置图块大小然后加载图像(我可以简单地转到概念)。
所以我的问题基本上是为什么?为什么使用CATiledLayer,如果它没有以正确的方式喂食,他们可以使用正常的UIImageView ...
因此,我做了很少的测试,以了解我是否正确。修改代码简单地添加一个带有图像视图的滚动视图作为子视图并响应委托滚动视图进行缩放。我去这些结论对测试设备和SIM:
CATiledLayer和UIImageView它们之间有什么大不了的?
- -The内存的影响和占用是完全一样的,即使在变焦滚动操作,并没有我的人吃惊的是,图像在内存中解压缩
- - 时间曲线说一个tileview需要更多的时间滚动缩放操作,而不是一个UIImageView过程中引出,并不会在所有再UIImageView的已绘制
- - 如果我送内存警告让我惊讶两种解决方案之间没有任何变化(仅适用于SIM卡)
- -Testing核心动画性能我避开60FPS
相同的结果
那么是什么这两个视图/层之间的交易我为什么要选一个,而不是其他的这些特殊情况? UIImageView似乎赢得了这场战斗。
我希望有人能帮助我理解这一点。
谢谢,为了清晰起见,缩放图像是1555px宽度,2236px高度。你的解释确实有道理。 – Andrea 2012-01-15 18:22:11