2012-07-28 59 views
2

我在看2011年的一个关于UIKit渲染的WWDC视频,这个部分讲述了UIImageView如何比使用drawRect更高效。下面是一个例子会话显示:iOS UIImageView vs drawRect图像拉伸

enter image description here

我不是为什么图像拉伸到320×200将需要使用的drawRect 250个附加Kbs的,但没有使用的UIImageView那么清楚? UIImageView是否需要相同数量的附加像素来调整大小和渲染图像?

有人能解释一下吗?

+0

听起来好像drawRect使用了一个内存位图缓冲区(然后用作gl-unit的纹理),而UIImageView直接构成gl-hardware的纹理。 – Till 2012-07-28 15:51:30

回答

0

我当时在观众席上,我相信的一点是,如果您使用Quartz创建新图像,然后绘制该图像,则必须先将图像渲染到上下文中,然后绘制该上下文。如果您使用UIImageView方法来切分小图像然后再进行渲染,那么iOS会知道多次平铺一个小图像,所以一个巨大的上下文(CGImage)永远不会被创建。