2013-07-16 64 views
1

我有一個X和Y座標的文本文件,該文件映射到一個位圖,該位圖包含要使用網格座標在屏幕上使用該方法繪製的所有圖塊。使用畫布優化批量繪圖

Canvas.DrawBitmap(Bitmap, Rect, Rect, Paint);

恐怕由一個線程使用這種方法,我將垃圾從所有的矩形實例降低性能來收集溢出。

我檢查了我正在繪製的瓷磚是否在我的框架內,這有助於提高性能,但是爲了避免性能問題,我還能做些什麼(主要擔心的是GC)。

回答

0

如果你真的擔心它,你可能只有兩個Rect對象,並使用public void set (int left, int top, int right, int bottom)來更改值,並將它們作爲類中的成員變量來防止GC刪除它們。

+0

P.S. 「不成熟的優化是編程中所有邪惡(或至少大部分)的根源」 - 唐納德克努特(這個引語改變了我的生活,雖然在你的情況下,這是一個不錯的主意) – EmptyFlash

+0

哇不能相信我沒有'不要在Rect類中看到這種方法......顯示我沒有閱讀它!謝謝! – zylski

+0

哈哈,我生命的故事。 – EmptyFlash