Skip to content
🤔 Documentation issue? Report it

//leakcanary/shark/HprofRecordReader

HprofRecordReader

class HprofRecordReader

Reads hprof content from an Okio BufferedSource.

Binary Dump Format reference: http://hg.openjdk.java.net/jdk6/jdk6/jdk/raw-file/tip/src/share /demo/jvmti/hprof/manual.html#mozTocId848088

The Android Hprof format differs in some ways from that reference. This parser implementation is largely adapted from https://android.googlesource.com/platform/tools/base/+/studio-master-dev /perflib/src/main/java/com/android/tools/perflib

Not thread safe, should be used from a single thread.

Types

Name Summary
Companion object Companion

Functions

Name Summary
readBoolean fun readBoolean(): Boolean
readBooleanArray fun readBooleanArray(arrayLength: Int): BooleanArray
readByte fun readByte(): Byte
readByteArray fun readByteArray(byteCount: Int): ByteArray
readChar fun readChar(): Char
readCharArray fun readCharArray(arrayLength: Int): CharArray
readClassDumpRecord fun readClassDumpRecord(): HprofRecord.HeapDumpRecord.ObjectRecord.ClassDumpRecord
Reads a full class record after a class dump tag.
readDebuggerGcRootRecord fun readDebuggerGcRootRecord(): GcRoot.Debugger
readDouble fun readDouble(): Double
readDoubleArray fun readDoubleArray(arrayLength: Int): DoubleArray
readFinalizingGcRootRecord fun readFinalizingGcRootRecord(): GcRoot.Finalizing
readFloat fun readFloat(): Float
readFloatArray fun readFloatArray(arrayLength: Int): FloatArray
readHeapDumpInfoRecord fun readHeapDumpInfoRecord(): HprofRecord.HeapDumpRecord.HeapDumpInfoRecord
readId fun readId(): Long
readIdArray fun readIdArray(arrayLength: Int): LongArray
readInstanceDumpRecord fun readInstanceDumpRecord(): HprofRecord.HeapDumpRecord.ObjectRecord.InstanceDumpRecord
Reads a full instance record after a instance dump tag.
readInt fun readInt(): Int
readIntArray fun readIntArray(arrayLength: Int): IntArray
readInternedStringGcRootRecord fun readInternedStringGcRootRecord(): GcRoot.InternedString
readJavaFrameGcRootRecord fun readJavaFrameGcRootRecord(): GcRoot.JavaFrame
readJniGlobalGcRootRecord fun readJniGlobalGcRootRecord(): GcRoot.JniGlobal
readJniLocalGcRootRecord fun readJniLocalGcRootRecord(): GcRoot.JniLocal
readJniMonitorGcRootRecord fun readJniMonitorGcRootRecord(): GcRoot.JniMonitor
readLoadClassRecord fun readLoadClassRecord(): HprofRecord.LoadClassRecord
readLong fun readLong(): Long
readLongArray fun readLongArray(arrayLength: Int): LongArray
readMonitorUsedGcRootRecord fun readMonitorUsedGcRootRecord(): GcRoot.MonitorUsed
readNativeStackGcRootRecord fun readNativeStackGcRootRecord(): GcRoot.NativeStack
readObjectArrayDumpRecord fun readObjectArrayDumpRecord(): HprofRecord.HeapDumpRecord.ObjectRecord.ObjectArrayDumpRecord
Reads a full object array record after a object array dump tag.
readPrimitiveArrayDumpRecord fun readPrimitiveArrayDumpRecord(): HprofRecord.HeapDumpRecord.ObjectRecord.PrimitiveArrayDumpRecord
Reads a full primitive array record after a primitive array dump tag.
readReferenceCleanupGcRootRecord fun readReferenceCleanupGcRootRecord(): GcRoot.ReferenceCleanup
readShort fun readShort(): Short
readShortArray fun readShortArray(arrayLength: Int): ShortArray
readStackFrameRecord fun readStackFrameRecord(): HprofRecord.StackFrameRecord
readStackTraceRecord fun readStackTraceRecord(): HprofRecord.StackTraceRecord
readStickyClassGcRootRecord fun readStickyClassGcRootRecord(): GcRoot.StickyClass
readString fun readString(byteCount: Int, charset: Charset): String
readStringRecord fun readStringRecord(length: Long): HprofRecord.StringRecord
readThreadBlockGcRootRecord fun readThreadBlockGcRootRecord(): GcRoot.ThreadBlock
readThreadObjectGcRootRecord fun readThreadObjectGcRootRecord(): GcRoot.ThreadObject
readUnknownGcRootRecord fun readUnknownGcRootRecord(): GcRoot.Unknown
readUnreachableGcRootRecord fun readUnreachableGcRootRecord(): GcRoot.Unreachable
readUnsignedByte fun readUnsignedByte(): Int
readUnsignedInt fun readUnsignedInt(): Long
readUnsignedShort fun readUnsignedShort(): Int
readUtf8 fun readUtf8(byteCount: Long): String
readValue fun readValue(type: Int): ValueHolder
Reads a value in the heap dump, which can be a reference or a primitive type.
readVmInternalGcRootRecord fun readVmInternalGcRootRecord(): GcRoot.VmInternal
sizeOf fun sizeOf(type: Int): Int
skip fun skip(byteCount: Int)
fun skip(byteCount: Long)
skipClassDumpConstantPool fun skipClassDumpConstantPool()
skipClassDumpFields fun skipClassDumpFields()
skipClassDumpHeader fun skipClassDumpHeader()
skipClassDumpRecord fun skipClassDumpRecord()
skipClassDumpStaticFields fun skipClassDumpStaticFields()
skipHeapDumpInfoRecord fun skipHeapDumpInfoRecord()
skipId fun skipId()
skipInstanceDumpRecord fun skipInstanceDumpRecord()
skipObjectArrayDumpRecord fun skipObjectArrayDumpRecord()
skipPrimitiveArrayDumpRecord fun skipPrimitiveArrayDumpRecord()

Properties

Name Summary
bytesRead val bytesRead: Long = 0
How many bytes this reader has read from source. Can only increase.