square / Haha
Licence: apache-2.0
DEPRECATED Java library to automate the analysis of Android heap dumps.
Stars: ✭ 1,337
Programming Languages
java
68154 projects - #9 most used programming language
Labels
Projects that are alternatives of or similar to Haha
Angular2 Style Guide
[Deprecated] Community-driven set of best practices and style guidelines for Angular 2 application development
Stars: ✭ 1,237 (-7.48%)
Mutual labels: deprecated
Julian
⛔️DEPRECATED Brilliantly clever PHP calendar class
Stars: ✭ 89 (-93.34%)
Mutual labels: deprecated
Kirby Twig
Twig templating support for Kirby CMS 2. For Kirby 3, use https://github.com/amteich/kirby-twig
Stars: ✭ 73 (-94.54%)
Mutual labels: deprecated
Adminbar
DEPRECATED – Front-end shortcuts for clients logged into Craft CMS.
Stars: ✭ 77 (-94.24%)
Mutual labels: deprecated
Codeigniter Schema
⛔️DEPRECATED Expressive table definitions
Stars: ✭ 87 (-93.49%)
Mutual labels: deprecated
Django Cache Url
DEPRECATED | Use Cache URLs in your Django Application
Stars: ✭ 68 (-94.91%)
Mutual labels: deprecated
Gphotos Sync
DEPRECATED - Google Photos Simple Synchronization Tool
Stars: ✭ 94 (-92.97%)
Mutual labels: deprecated
Vagrant Librarian Chef
*UNMAINTAINED* A Vagrant plugin to install Chef cookbooks using Librarian-Chef.
Stars: ✭ 80 (-94.02%)
Mutual labels: deprecated
Gulp Ngmin
[DEPRECATED] Pre-minify AngularJS apps with ngmin
Stars: ✭ 89 (-93.34%)
Mutual labels: deprecated
React Axe
[DEPRECATED] Accessibility auditing for React.js applications
Stars: ✭ 1,201 (-10.17%)
Mutual labels: deprecated
Sass Rails Source Maps
DEPRECATED: Rails gem for generating sass source maps
Stars: ✭ 88 (-93.42%)
Mutual labels: deprecated
Sphero Mac Sdk
🚫 DEPRECATED: Sphero SDK for the Mac platform.
Stars: ✭ 70 (-94.76%)
Mutual labels: deprecated
Notifier For Github Safari
Safari extension - Displays your GitHub notifications unread count
Stars: ✭ 90 (-93.27%)
Mutual labels: deprecated
Framework7 With Angularjs Demo App
⛔️ Unmaintained and deprecated!
Stars: ✭ 81 (-93.94%)
Mutual labels: deprecated
React Combinators
[NOT MAINTAINED] Seamless combination of React and reactive programming
Stars: ✭ 95 (-92.89%)
Mutual labels: deprecated
Secretary
DEPRECATED Secrets management for dynamic environments
Stars: ✭ 93 (-93.04%)
Mutual labels: deprecated
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:
File heapDumpFile = ...
Debug.dumpHprofData(heapDumpFile.getAbsolutePath());
After dumping the heap, use HAHA to parse and analyze it.
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
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
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].