我有一個Compact Framework上的應用程序,它具有一些大型嵌入式資源(其中一些是幾兆字節)。我打電話給assembly.GetManifestResourceStream(...)
,它返回一個Stream
對象。但是,我注意到,在某些設備上,這種調用不僅需要很長時間,而且會導致設備耗盡可用內存。最後,我使用反射器來查看緊湊框架上此方法的代碼,並使用內部方法獲取資源數據的byte[]
。然後它返回包含在MemoryStream
中的這些數據。獲取資源時未將其完全讀入內存
有沒有什麼辦法可以在不使用此調用的情況下檢索資源,因爲它會一直將所有內容讀入內存?理想情況下,我想使用一個Stream
,我可以隨機訪問而不必將整個內容讀入內存(類似於FileStream
的工作方式)。如果我能在組件上打開一個FileStream
並開始讀取適當的偏移量,那將會非常簡潔,但我懷疑這是如何嵌入資源的。
爲什麼你有,當你用有限的瞄準設備等大資源記憶? – 2010-03-09 14:38:08
我可以輕鬆地使用有限的內存設備上的資源,因爲我能夠有效地使用我需要的部分。 – Jason 2010-03-09 15:24:06