Skip to content
🤔 Documentation issue? Report it

//leakcanary/shark/HeapObject

HeapObject

sealed class HeapObject

An object in the heap dump.

Types

Name Summary
Companion object Companion
HeapClass class HeapClass : HeapObject
A class in the heap dump.
HeapInstance class HeapInstance : HeapObject
An instance in the heap dump.
HeapObjectArray class HeapObjectArray : HeapObject
An object array in the heap dump.
HeapPrimitiveArray class HeapPrimitiveArray : HeapObject
A primitive array in the heap dump.

Functions

Name Summary
readRecord abstract fun readRecord(): HprofRecord.HeapDumpRecord.ObjectRecord
Reads and returns the underlying ObjectRecord.

Properties

Name Summary
asClass val asClass: HeapObject.HeapClass?
This HeapObject as a HeapClass if it is one, or null otherwise
asInstance val asInstance: HeapObject.HeapInstance?
This HeapObject as a HeapInstance if it is one, or null otherwise
asObjectArray val asObjectArray: HeapObject.HeapObjectArray?
This HeapObject as a HeapObjectArray if it is one, or null otherwise
asPrimitiveArray val asPrimitiveArray: HeapObject.HeapPrimitiveArray?
This HeapObject as a HeapPrimitiveArray if it is one, or null otherwise
graph abstract val graph: HeapGraph
The graph of objects in the heap, which you can use to navigate the heap.
objectId abstract val objectId: Long
The heap identifier of this object.
objectIndex abstract val objectIndex: Int
An positive object index that’s specific to how Shark stores objects in memory. The index starts at 0 and ends at HeapGraph.objectCount - 1. There are no gaps, every index value corresponds to an object. Classes are first, then instances, then object arrays then primitive arrays.
positiveObjectId val positiveObjectId: Long
objectId masked to be a positive unique identifier, as reported in Android Studio.
recordSize abstract val recordSize: Int
The total byte size for the record of this object in the heap dump.

Inheritors

Name
HeapClass
HeapInstance
HeapObjectArray
HeapPrimitiveArray