我正在实现一个用于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. 如何计算任务管理器的内存使用情况?
- 4. 如何在PHP中计算内存使用情况
- 5. 如何测量python中对象的内存使用情况?
- 6. 如何计算使用top linux的java的实际内存使用情况?
- 7. CPU使用情况如何计算?
- 8. .NET运行时对象的内存占用情况如何?
- 9. Java:Java编译器计算的程序的内存使用情况如何?
- 10. 如何优化此算法中的内存使用情况?
- 11. 在javascript中计算内存使用情况
- 12. 在PHP中计算脚本内存使用情况?
- 13. 如何计算eclipse中的cyclomatic complextity,内存使用情况,页面错误等?
- 14. 如何测量内存使用情况
- 15. 如何分析内存使用情况?
- 16. C#:一个对象的内存使用情况
- 17. JavaScript对象的内存使用情况和复杂性顺序
- 18. Pympler获取对象的内存使用情况
- 19. ObjectiveC中指定对象的内存使用情况
- 20. 确定.NET中对象图的内存使用情况
- 21. 如何在不分配内存的情况下构造对象?
- 22. 内存使用情况
- 23. iphone内存使用情况
- 24. Tcl_Format内存使用情况
- 25. Silverlight内存使用情况
- 26. IronPython内存使用情况
- 27. Java内存使用情况
- 28. V8内存使用情况
- 29. Listview内存使用情况
- 30. Linux内存使用情况
可能重复[在Java中,什么是确定对象的大小的最佳方式?](http://stackoverflow.com/questions/52353/in-java什么是最好的方式来确定大小的对象) – ZoogieZork 2011-04-27 19:03:47