2011-06-07 72 views
1

我讀過幾次,應該避免繪圖時縮放圖像,因爲它會降低性能。繪圖時縮放位圖 - 性能

現在這是否意味着當我有一個圖像視圖,並將其設置爲固定大小(除wrap_content以外的任何其他內容)並將縮放類型設置爲像「scaleXY」之類的圖像時,縮放它的beeing時縮放圖像,或者那麼這麼好的表現呢?

謝謝!

回答

0

如果您正在使用軟件渲染(在3.0之前調用基於Canvas的渲染;由於您沒有請求硬件渲染器而設備不支持它的情況下,3.0硬件渲染器未使用的情況),則在繪製時縮放位圖將會顯着減慢,可能在一個數量級的範圍內。基本上,不是基本上做一個memcpy(),繪圖代碼需要檢索每個像素並將其放入目標。

如果您確實需要縮放位圖,則應考慮在繪製之前對其進行縮放,然後繪製預縮放版本。

+1

好吧,但我想知道如何將圖像視圖(它不是1:1的原始圖像)將它縮放到每一幀(當我通過一個畫廊時)或將它創建一個縮放copz一次並重用它? – pumpkee 2011-06-07 16:42:41

+0

如果您要讓ImageView以縮放比例繪製位圖,那麼是的,它會縮放每一幀。如果您希望縮放一次,則需要製作一個適用於您所需縮放比例的新位圖。 – hackbod 2011-06-23 13:56:19