2011-01-08 44 views
0

Windows窗體應用程序的網絡最好打開許多文件,當你去或一次

我在硬盤上有很多容器文件,裏面有很多圖像。我必須通過使用ID來獲得特定圖像,我必須通過每個容器文件並找到其中具有ID的那個,然後我才能檢索圖像。

我想我有3種選擇:

  • 負載的所有圖像在啓動進入內存,可能會或可能不會被使用的一些圖像。
  • 因爲我需要每個圖像都經過所有容器文件並將圖像打開到內存中。
  • 創建ID的字典,什麼文件他們是在啓動和然後得到每個圖像,因爲我需要它,而不需要經過所有的容器文件。

哪個選項是更好有被顯示在用戶要求的圖像與圖像之間更少的延遲,但不會使用太多的內存或減緩平定計算機的

(平均計算機內存誰還會用引入ThisApplication用戶約爲(2-)3-4GB

+0

你指的是經常更換容器文件?還是他們是靜態資源? – 2011-01-08 10:10:43

+0

它們會以不同的時間間隔變化,但每週大概會發生一些變化。 – 2011-01-08 10:15:01

回答

0

的記憶用戶計算機上的金額並不重要 - 這個內存是不是你的,它是決定如何處理該內存的用戶您。任務是在消耗的內存(儘量保持最小)和操作速度之間找到適當的平衡。

選擇取決於容器的數量和每個容器中的圖像數量。

如果數量少,加載一切記憶和不打擾。 ID的

字典是優選的「通用的」方式,當容器和文件的數量是未知的。

還有一分去想的事情 - 如何生成並存儲的ID?例如,如果容器被命名爲AA到ZZ並且圖像ID是數字,那麼您可以將引用存儲爲「BS123」,當您需要圖像時,它會告訴您打開容器BS並拍攝圖像123.

1

與容器文件相關的圖像位置是否隨時間而改變?如果不是,則一種選擇是進行一次性操作,將索引文件並將這些信息寫入單獨的文件中。這個索引文件可以在啓動時加載,然後你的代碼會知道在哪個容器中找到一個特定的圖像。

相關問題