2011-09-17 27 views
0

我的應用程序可以處理大量圖像,我必須存儲一些關於每個圖像的計算信息。我經常需要爲我的計算獲取圖像的大小(有時不需要加載原始圖像)。 什麼更好:每次加載需要的位圖並獲取其大小,或者首先獲取大小並將其存儲在Size對象中?C#,我應該單獨存儲位圖大小嗎?

回答

1

你說你自己「不需要加載原始圖像」 - 所以確保爲你的位圖編譯信息並存儲它們。如果您使用數據庫,那麼您可以只存儲您的信息和位圖的路徑。只有在真正需要的時候才能加載大圖片。

+0

「有時候」我需要加載它們。我沒有使用任何數據庫,我將所有信息存儲在列表中。當我可以加載/獲取大小/處理我的位圖時,將所有圖像的大小存儲在內存中是否有效?有近500張圖片。 – ieaglle

+0

以何種方式高效?運行時 - 不,它效率低下。內存 - 是的,加載/處理它們更有效率。但正常的內存比CPU時間便宜,所以我不會建議這一點。如果你經常這樣做,你會浪費很多時間來加載孔圖片,GC也會很忙。 - 您仍然可以在需要時立即加載它們。 500次信息存儲路徑+一些計算出的信息幾乎沒有。當然,如果你不以任何方式堅持這些數據,你必須在每個位圖的開始時刻執行 - 在這種情況下,使用一些延遲加載技術。 – Carsten

+0

感謝您的回答。我相信。我想我會繼續分別存儲Bitmap的大小。非常感謝! – ieaglle

相關問題