我无法在Android开发人员文档的任何地方找到此指标的描述。这是我最近查看过的链接:https://developer.android.com/studio/profile/memory-profiler
这就是我认为的含义:堆中尚未释放的对象数。
如果可能,请提供可靠的资源来支持您的推理(例如,带有分钟标记的Android I / 0对话或一些Android文档)。
答案 0 :(得分:1)
是的,这是在选定时间段之前分配的实例总数+选定时间段的内存分配(或您所说的:堆中尚未为选定对象释放的对象(实例)数)期
您可以看到此here
在实例视图上,可以看到在{m}处分配了三个int
数组,但未取消分配(在所选期间内)。
答案 1 :(得分:1)
Total Count
定义为对象总数(请参阅Android Studio source),具体是:
new AttributeColumn<>(
"Total Count",
() -> new SimpleColumnRenderer<ClassifierSet>(
value -> Integer.toString(value.getAdapter().getTotalObjectCount()),
value -> null,
SwingConstants.RIGHT),
此getTotalObjectCount()
is defined as:
public int getTotalObjectCount() {
return mySnapshotObjectCount + myDeltaAllocations - myDeltaDeallocations;
}
mySnapshotObjectCount
值在addSnapshotInstanceObject
内递增,其中有有用的注释:
将实例添加到基准快照并更新以下帐户的记帐 “总”值。
myDeltaAllocations
和myDeltaDeallocations
的值递增inside addDeltaInstanceInformation
:
if (isAllocation) {
myDeltaAllocations++;
}
else {
myDeltaDeallocations++;
}
这称为inside partition
,其中包含有用的注释:
根据当前的
InstanceObjects
策略在snapshotInstances
和myDeltaInstances
中对ClassifierSet
进行分区。这将消耗输入中的实例。
此snapshotInstance
与用于递增mySnapshotInstanceObjectCount
的变量相同,因此表明创建分区(快照)时创建了所有3个值,它们之间的联系非常紧密,并且所有因素均计入“总计”计数。
所以,最后的答案是:
Total Count = Snapshot objects + New allocations - New deallocations
此等式的定义与Axifive在另一个答案中所说的以及所链接的视频相匹配。
答案 2 :(得分:0)
这就是我的想法:堆中具有 没有被释放。
您的想法是正确的,但是我不能为此公开话题。