2012-07-28 40 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)永遠不會被創建。