我想知道在Full Framework和Compact Framework中,內存消耗是否與兩者兼容的類型和類不同。 我也想知道,如果我的目標是一個緊湊框架(一個.dll庫)的程序集,並在桌面機器中引用它。它會使用完整框架還是緊湊型?如果是後者,我認爲內存消耗應該是相同的,但它是什麼? 我的直覺是,緊湊的框架類型更簡單,因爲它們通常只有較少的方法,並且缺少許多類。但每個對象的內存表示是否相同?這是否取決於架構? (例如,在ARM和x86上運行它) 是否有資源可以找到關於此主題的更多信息?CF vs Full Framework中的內存消耗
1
A
回答
1
我想說這取決於你所看到的細節。舉例來說,如果我有一個簡單的目標:
public class Foo
{
public int ID { get; set; }
public string Name { get; set; }
}
然後,它在內存中的表示將是要麼框架下的相同。
但是,如果我從兩個框架之間根本不同的更復雜的類派生,那麼結果在框架之間會有所不同。
如果在FFx中加載,它將使用FFx程序集來實例化實例,所以即使它是爲CF編譯的,FFx也會在FFX運行時加載它,而不是CF.
處理器架構並不重要,因爲這些都編譯爲IL,這是處理器無關的。當然,由於您在託管代碼下討論內存消耗問題,GC如何工作也是一個很重要的因素,並且它們在CF和FFx中的工作方式不同,因此對於相同的類在不同時間之間的佔用空間會有所不同這兩個框架都取決於使用模式。
相關問題
- 1. LinkedHashSet vs HashSet內存消耗
- 2. Direct2D內存消耗
- 3. joda ArrayIntList(5000000)vs int [5000000]內存消耗
- 4. Memcacheq vs cronjob在內存消耗方面
- 5. 內存消耗
- 6. Cherrypy中的內存消耗
- 7. Magick.NET中的內存消耗
- 8. HSQLDB內存消耗
- 9. QRegularExpressionMatch內存消耗
- 10. QTreeView內存消耗
- 11. EntityManager內存消耗
- 12. Boost.Flyweight內存消耗
- 13. Luakit內存消耗
- 14. 佔內存消耗
- 15. visual studio 2010內存消耗
- 16. Emgu CV - 內存泄漏(內存消耗)
- 17. CF應用程序消耗的WCF
- 18. BigDecimal(Java)的內存消耗
- 19. EF的內存消耗
- 20. Android的內存消耗
- 21. 的std :: istream_iterator,內存消耗
- 22. Tomcat的內存消耗
- 23. SQLite的內存消耗?
- 24. java的內存消耗Collection.sort()
- 25. PHP的TeeChart內存消耗
- 26. .NET內存消耗問題
- 27. JTextArea消耗大量內存
- 28. Tomcat 6內存消耗
- 29. Netty 4 beta1內存消耗
- 30. CGImageRef |內存消耗|泄漏
如果該類有一個字節屬性而不是int屬性,自動生成的字段是否會在移動平臺上按順序映射出來,而不是在非移動平臺上進行邊界上映射? – 2011-05-13 22:26:55
如果第一個字節是一個字節,則它與內存中的字符串數據之間會有一個3字節的「pad」。我很驚訝整個框架不會這樣做(至少這就是我認爲你所說的那樣),因爲對不對齊的訪問執行懲罰,但我從來沒有真的需要去看看整個框架如何擺出來,因爲它是一個封送處理器,它足夠強大,所以我很少需要交出編組的東西。在CF中沒那麼幸運。 – ctacke 2011-05-14 01:46:25
謝謝!這就說得通了。我假設它在CF中總是消耗相同或更少,但從未超過FF。對? – cloudraven 2011-05-14 16:49:33