Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
H

haha

> 编程语言
Open source

DEPRECATED Java library to automate the analysis of Android heap dumps.

1.4K stars0 likes1 views
WebsiteGitHub

About

DEPRECATED Java library to automate the analysis of Android heap dumps.

Headless Android Heap Analyzer

“Ha Ha!” - Nelson

This repository is DEPRECATED

  • This project was created to provide a heap dump parser for LeakCanary by repackaging heap dump parsers from other repositories.
  • LeakCanary now has its own heap dump parser.
  • That parser is available on Maven Central as com.squareup.leakcanary:leakcanary-haha:2.0-alpha-1.

Introduction

HAHA is a Java library to automate the analysis of Android heap dumps.

This project is essentially a repackaging of the work of others to make it available as a small footprint Maven dependency.

Usage

To learn how to dump the heap, read the Android documentation. Here's an example:

java
File heapDumpFile = ...
Debug.dumpHprofData(heapDumpFile.getAbsolutePath());

After dumping the heap, use HAHA to parse and analyze it.

java
DataBuffer buffer = new MemoryMappedFileBuffer(heapDumpFile);
Snapshot snapshot = Snapshot.createSnapshot(buffer);

// The rest is up to you.
ClassObj someClass = snapshot.findClass("com.example.SomeClass");

Gradle config

groovy
dependencies {
  compile 'com.squareup.haha:haha:2.1'
}

Versions

HAHA 2.1

  • This release updates perflib to the bc5c698efaf970f599e877a8b26de16736db4272 SHA of the android_platform_tool_base repo.
  • It also overlays a patched version of HprofParser.java to fix https://issuetracker.google.com/issues/122713143.

HAHA 2.0.4

This release separates out Trove4j from HAHA since Trove4j is available under LGPL 2.1 and HAHA is available under Apache 2.

  • This library contains parts of perflib and is available under the same license, Apache v2.
  • It contains a repackaged version of Guava
  • It has an artifact dependency on a fork of Trove4j ("1.1 with patches from JetBrains") which is available in jcenter under the LGPL 2.1 license.
  • The result is merged in an uber-jar (perflib + guava) proguarded to remove unused code and reduce the footprint.

HAHA 2.0, 2.0.1, 2.0.2, 2.0.3

  • This library contains parts of perflib and is available under the same license, Apache v2.
  • It contains a repackaged version of Guava and Trove4j "1.1 with patches from JetBrains"
  • Trove4j is available under the LGPL 2.1 license.
  • The result is merged in an uber-jar proguarded to remove unused code and reduce the footprint.

HAHA 1.1, 1.2 and 1.3

  • The first versions of HAHA were the result of a series of forks:
  • Eclipse Memory Analyzer (MAT) is a Java heap analyzer. It's a standalone GUI built with Eclipse RCP that embeds an engine to parse and analyze heap dumps.
  • vshor/mat is a fork of Eclipse Memory Analyzer. It removed a lot of code and changed some of it to make a headless version (no GUI), as well as ignore weak references when finding paths to GC Roots.
  • AndroMAT is a fork of vshor/mat and changed the heap dump parsing to support Android specific heap dump format.
  • HAHA was originally a fork of AndroMAT. We recreated the lost Git history, kept the bare minimum needed code and packaged it to be releasable on Maven Central.
  • MAT is available under the Eclipse Public License v1.0 so HAHA was initially released under that same license.

Releasing

mvn release:prepare && mvn release:perform

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Javadeprecated

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言