HeapClass

A class in the heap dump.

Functions

Link copied to clipboard
operator fun get(fieldName: String): HeapField?
Link copied to clipboard
fun instanceFieldName(fieldRecord: HprofRecord.HeapDumpRecord.ObjectRecord.ClassDumpRecord.FieldRecord): String

Returns the name of the field declared in this class for the specified fieldRecord.

Link copied to clipboard

The total byte size of fields for instances of this class, computed as the sum of the individual size of each field of this class. This does not include the size of fields from superclasses.

Link copied to clipboard
open override fun readRecord(): HprofRecord.HeapDumpRecord.ObjectRecord.ClassDumpRecord

Reads and returns the underlying ClassDumpRecord.

Link copied to clipboard
fun readRecordFields(): List<HprofRecord.HeapDumpRecord.ObjectRecord.ClassDumpRecord.FieldRecord>
Link copied to clipboard
fun readRecordStaticFields(): List<HprofRecord.HeapDumpRecord.ObjectRecord.ClassDumpRecord.StaticFieldRecord>
Link copied to clipboard
fun readStaticField(fieldName: String): HeapField?

Returns a HeapField object that reflects the specified declared field of the class represented by this HeapClass object, or null if this field does not exist. The name parameter specifies the simple name of the desired field.

Link copied to clipboard

The static fields of this class, as a sequence of HeapField.

Link copied to clipboard
infix fun subclassOf(superclass: HeapObject.HeapClass): Boolean

Returns true if superclass is a superclass of this HeapClass.

Link copied to clipboard

Returns true if subclass is a sub class of this HeapClass.

Link copied to clipboard
open override fun toString(): String

Properties

Link copied to clipboard

This HeapObject as a HeapClass if it is one, or null otherwise

Link copied to clipboard

This HeapObject as a HeapInstance if it is one, or null otherwise

Link copied to clipboard

This HeapObject as a HeapObjectArray if it is one, or null otherwise

Link copied to clipboard

This HeapObject as a HeapPrimitiveArray if it is one, or null otherwise

Link copied to clipboard

The class hierarchy starting at this class (included) and ending at the Object class (included).

Link copied to clipboard

All direct instances of this class, ie excluding any instance of subclasses of this class.

Link copied to clipboard
open override val graph: HeapGraph

The graph of objects in the heap, which you can use to navigate the heap.

Link copied to clipboard

The total byte size of fields for instances of this class, as registered in the class dump. This includes the size of fields from superclasses.

Link copied to clipboard

All instances of this class, including instances of subclasses of this class.

Link copied to clipboard

Returns true if this class is an array class, and false otherwise.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Whether this is class is a primitive wrapper type

Link copied to clipboard

The name of this class, identical to Class.getName. If this class is an array class, the name has a suffix of brackets for each dimension of the array, e.g. com.Foo[][] is a class for 2 dimensional arrays of com.Foo.

Link copied to clipboard
open override val objectId: Long

The heap identifier of this object.

Link copied to clipboard
open override 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.

Link copied to clipboard

objectId masked to be a positive unique identifier, as reported in Android Studio.

Link copied to clipboard

Primitive arrays are one dimensional arrays of a primitive type. N-dimension arrays of primitive types (e.g. int[][]) are object arrays pointing to primitive arrays.

Link copied to clipboard
open override val recordSize: Int

The total byte size for the record of this object in the heap dump.

Link copied to clipboard

Returns name stripped of any string content before the last period (included).

Link copied to clipboard

All the subclasses (direct and indirect) of this class, in the order they were recorded in the heap dump.

Link copied to clipboard

The HeapClass representing the superclass of this HeapClass. If this HeapClass represents either the Object class or a primitive type, then null is returned. If this HeapClass represents an array class then the HeapClass object representing the Object class is returned.