【发布时间】:2011-04-27 18:53:44
【问题描述】:
我正在为android应用程序实现一个缓存系统,我需要添加一个参数来指定允许缓存的最大内存量,但我不知道如何计算对象使用的内存。
【问题讨论】:
标签: java caching memory-management
我正在为android应用程序实现一个缓存系统,我需要添加一个参数来指定允许缓存的最大内存量,但我不知道如何计算对象使用的内存。
【问题讨论】:
标签: java caching memory-management
显然 1.5 添加了一个检测接口。看看这篇文章
http://www.javapractices.com/topic/TopicAction.do?Id=83
您可以使用 getObjectSize() 方法。它的实现是具体的和近似的,但总比没有好
【讨论】:
您可以考虑获取应用程序的堆转储并观察其保留堆
【讨论】:
这取决于对象。计算对象的每个部分在分配时占用多少内存以获得对象最大大小的基线。
【讨论】: