我正在實現一個用於android應用程序的緩存系統,我需要添加一個參數來指定爲緩存而準備的最大內存量,但我不知道如何計算用於對象的內存。如何計算對象的內存使用情況?
回答
這取決於對象。計算對象分配給對象可以達到的最大大小的基線時,對象的每個部分佔用多少內存。
考慮提供一個如何做到這一點的例子。 – 2011-04-28 17:44:30
您可以考慮購買的應用程序的堆轉儲並觀察其保留堆
要生成堆轉儲,請使用heapViewer(自JDK5.0起)。它位於%JDK_HOME%\ demo \ jvmti \ heapViewer中您可以使用-agentlib選項從命令行啓動該功能。您可以使用Ctrl-C或Ctrl- \(SIGQUIT)觸發轉儲。 – 2011-04-28 17:40:23
顯然1.5添加了一個設備接口。看看這篇文章
http://www.javapractices.com/topic/TopicAction.do?Id=83
你可以使用一個getObjectSize()方法。它的實現具體和近似,但好於沒有
這是一個不錯的選擇,但不適用於android:'( 「java.lang.instrument包已從dalvik核心庫中刪除, ,因爲此包基本假設虛擬機使用的執行格式爲 是.class文件.class文件根本不會出現在Android上。「http://groups.google.com/group/android-developers/browse_thread/thread/311e16daba10dd7c – luisZavaleta 2011-04-27 19:33:05
檢查這篇文章http://stackoverflow.com/questions/52353/in-java-what-is-the-best-way-to-determine-the-size-of-a-object其中一個人說可能有一個類似C的sizeOf() – nsfyn55 2011-04-27 20:26:19
sizeOf使用內部java.lang.instrument http://www.google.com/codesearch/p?hl=zh-CN#JJilFFvKD1Y/trunk/Java/%E4%BE%8B%E5%AD%90/SizeOf/src/淨/ sourceforge的/的sizeof/SizeOf.java&q = NE t.sourceforge.sizeof.SizeOf&d = 8 – luisZavaleta 2011-04-28 00:29:26
- 1. 計算Java中任何對象的總內存使用情況
- 2. 對象的內存使用情況
- 3. 如何計算java程序的內存使用情況?
- 4. 如何計算任務管理器的內存使用情況?
- 5. 如何在PHP中計算內存使用情況
- 6. 如何測量JavaScript對象的內存使用情況
- 7. 如何測量python中對象的內存使用情況?
- 8. 如何計算使用top linux的java的實際內存使用情況?
- 9. CPU使用情況如何計算?
- 10. Grails - 啓動內存/內存使用情況/域對象
- 11. 在java中計算HashMap的內存使用情況
- 12. 計算進程的內存使用情況
- 13. 如何計算類對象在C++中使用的內存量?
- 14. .NET運行時對象的內存佔用情況如何?
- 15. Java:Java編譯器計算的程序的內存使用情況如何?
- 16. 如何優化此算法中的內存使用情況?
- 17. 在PHP中計算腳本內存使用情況?
- 18. 在javascript中計算內存使用情況
- 19. 如何計算sqlite查詢期間的RAM /內存使用情況?
- 20. 如何計算eclipse中的cyclomatic complextity,內存使用情況,頁面錯誤等?
- 21. 如何分析內存使用情況?
- 22. 如何測量內存使用情況
- 23. C#:一個對象的內存使用情況
- 24. ObjectiveC中指定對象的內存使用情況
- 25. 確定.NET中對象圖的內存使用情況
- 26. JavaScript對象的內存使用情況和複雜性順序
- 27. 記錄一個對象的內存使用情況
- 28. Pympler獲取對象的內存使用情況
- 29. 如何在不分配內存的情況下構造對象?
- 30. Tcl_Format內存使用情況
可能重複[在Java中,什麼是確定對象的大小的最佳方式?](http://stackoverflow.com/questions/52353/in-java什麼是最好的方式來確定大小的對象) – ZoogieZork 2011-04-27 19:03:47