2011-11-07 42 views
7

我看了下面的文章,其是用來解釋它,但它並不能幫助我:Visual Studio 2010中的兩個構建操作「Resource」和「Embedded Resource」之間有什麼區別?

http://msdn.microsoft.com/en-us/library/ht9h2dk8(VS.80).aspx

我的情況是,我想有一個包含數百個圖標的DLL。圖標DLL將被共享並用於各種應用程序。顯然,如果一個應用程序只使用其中的幾十個,我不會將所有這些圖標加載到內存中。所以我很想知道「資源」(構建操作)是否允許我按需加載圖標,而不是一次加載所有圖標。

任何人都可以幫忙嗎?

回答

2

構建操作「內容」可能是您真正要搜索的內容。在這種模式下,圖標將不會成爲您的可執行文件的一部分,從而加載速度更快。

爲「資源」和「嵌入的資源」的文件說:

在這兩種情況下,資源數據被編譯成可執行文件 。

因此,對於任何「資源」構建操作,它們將被加載到內存中,而不是您想要的內容。

Click here用於比較「內容」和「資源」操作。

2

我現在沒有接近Visual Studio的地方,所以我不能直接測試這個,但我會試圖幫助盲人。

對於初學者來說,如果您將所有資源加載到作爲內容添加到項目中的Zip文件中,它們將不會由應用程序加載,直到您致電爲止。正如你所提到的,如果你要推入大量文件,這是管理資源的好方法。

查看Jeff Wilcox的博客,瞭解更多信息using a dynamically loaded about page

你也可以看看MSDN的詳細信息,使用GetResourceStream從Zip文件動態加載文件。

當然,根據您計劃使用多少個文​​件,在編譯時找到一種方法來分割應用程序所需的文件可能是一個好得多的選擇。由於將資源拉入文件需要一定的開銷,無論使用何種方法。

相關問題