我正在为Android应用程序实现一个缓存系统,我需要添加一个参数来指定缓存所允许的最大内存量,但我不知道如何计算用于对象的内存。
答案 0 :(得分:1)
显然1.5添加了一个仪器界面。看看这篇文章
http://www.javapractices.com/topic/TopicAction.do?Id=83
您可以使用getObjectSize()方法。它的具体实现和近似但不比没有好
答案 1 :(得分:0)
您可以考虑获取应用程序的堆转储并观察其保留堆
答案 2 :(得分:-1)
这取决于对象。计算对象的每个部分在分配时获取的内存大小,以获得对象可以达到的最大大小的基线。