1package com.android.ahat { 2 3 public class Main { 4 method public static void main(java.lang.String[]); 5 } 6 7} 8 9package com.android.ahat.dominators { 10 11 public class Dominators<Node> { 12 ctor public Dominators(com.android.ahat.dominators.Dominators.Graph); 13 method public void computeDominators(Node); 14 method public com.android.ahat.dominators.Dominators progress(com.android.ahat.progress.Progress, long); 15 } 16 17 public static abstract interface Dominators.Graph<Node> { 18 method public abstract java.lang.Object getDominatorsComputationState(Node); 19 method public abstract java.lang.Iterable<? extends Node> getReferencesForDominators(Node); 20 method public abstract void setDominator(Node, Node); 21 method public abstract void setDominatorsComputationState(Node, java.lang.Object); 22 } 23 24 public deprecated class DominatorsComputation { 25 method public static void computeDominators(com.android.ahat.dominators.DominatorsComputation.Node); 26 method public static void computeDominators(com.android.ahat.dominators.DominatorsComputation.Node, com.android.ahat.progress.Progress, long); 27 } 28 29 public static abstract interface DominatorsComputation.Node { 30 method public abstract java.lang.Object getDominatorsComputationState(); 31 method public abstract java.lang.Iterable<? extends com.android.ahat.dominators.DominatorsComputation.Node> getReferencesForDominators(); 32 method public abstract void setDominator(com.android.ahat.dominators.DominatorsComputation.Node); 33 method public abstract void setDominatorsComputationState(java.lang.Object); 34 } 35 36} 37 38package com.android.ahat.heapdump { 39 40 public class AhatArrayInstance extends com.android.ahat.heapdump.AhatInstance { 41 method public int getLength(); 42 method public com.android.ahat.heapdump.Value getValue(int); 43 method public java.util.List<com.android.ahat.heapdump.Value> getValues(); 44 } 45 46 public class AhatClassInstance extends com.android.ahat.heapdump.AhatInstance { 47 method public java.lang.Iterable<com.android.ahat.heapdump.FieldValue> getInstanceFields(); 48 } 49 50 public class AhatClassObj extends com.android.ahat.heapdump.AhatInstance { 51 method public com.android.ahat.heapdump.AhatInstance getClassLoader(); 52 method public com.android.ahat.heapdump.Field[] getInstanceFields(); 53 method public long getInstanceSize(); 54 method public java.lang.String getName(); 55 method public java.util.List<com.android.ahat.heapdump.FieldValue> getStaticFieldValues(); 56 method public com.android.ahat.heapdump.AhatClassObj getSuperClassObj(); 57 } 58 59 public class AhatHeap implements com.android.ahat.heapdump.Diffable { 60 method public com.android.ahat.heapdump.AhatHeap getBaseline(); 61 method public java.lang.String getName(); 62 method public com.android.ahat.heapdump.Size getSize(); 63 method public boolean isPlaceHolder(); 64 } 65 66 public abstract class AhatInstance implements com.android.ahat.heapdump.Diffable { 67 method public com.android.ahat.heapdump.AhatArrayInstance asArrayInstance(); 68 method public java.awt.image.BufferedImage asBitmap(); 69 method public com.android.ahat.heapdump.AhatClassInstance asClassInstance(); 70 method public com.android.ahat.heapdump.AhatClassObj asClassObj(); 71 method public java.lang.String asString(int); 72 method public java.lang.String asString(); 73 method public com.android.ahat.heapdump.AhatInstance getAssociatedBitmapInstance(); 74 method public com.android.ahat.heapdump.AhatClassObj getAssociatedClassForOverhead(); 75 method public com.android.ahat.heapdump.AhatInstance getBaseline(); 76 method public java.lang.String getBinderProxyInterfaceName(); 77 method public java.lang.String getBinderStubInterfaceName(); 78 method public java.lang.String getBinderTokenDescriptor(); 79 method public java.lang.String getClassName(); 80 method public com.android.ahat.heapdump.AhatClassObj getClassObj(); 81 method public java.lang.String getDexCacheLocation(int); 82 method public java.util.List<com.android.ahat.heapdump.AhatInstance> getDominated(); 83 method public com.android.ahat.heapdump.Value getField(java.lang.String); 84 method public deprecated java.util.List<com.android.ahat.heapdump.AhatInstance> getHardReverseReferences(); 85 method public com.android.ahat.heapdump.AhatHeap getHeap(); 86 method public long getId(); 87 method public com.android.ahat.heapdump.AhatInstance getImmediateDominator(); 88 method public java.util.List<com.android.ahat.heapdump.PathElement> getPathFromGcRoot(); 89 method public com.android.ahat.heapdump.Reachability getReachability(); 90 method public com.android.ahat.heapdump.AhatInstance getRefField(java.lang.String); 91 method public com.android.ahat.heapdump.AhatInstance getReferent(); 92 method public com.android.ahat.heapdump.Size getRetainedSize(com.android.ahat.heapdump.AhatHeap); 93 method public java.util.List<com.android.ahat.heapdump.AhatInstance> getReverseReferences(); 94 method public java.util.Collection<com.android.ahat.heapdump.RootType> getRootTypes(); 95 method public com.android.ahat.heapdump.Site getSite(); 96 method public com.android.ahat.heapdump.Size getSize(); 97 method public deprecated java.util.List<com.android.ahat.heapdump.AhatInstance> getSoftReverseReferences(); 98 method public com.android.ahat.heapdump.Size getTotalRetainedSize(); 99 method public boolean isArrayInstance(); 100 method public boolean isClassInstance(); 101 method public boolean isClassObj(); 102 method public boolean isInstanceOfClass(java.lang.String); 103 method public boolean isPlaceHolder(); 104 method public boolean isRoot(); 105 method public boolean isStronglyReachable(); 106 method public boolean isUnreachable(); 107 method public deprecated boolean isWeaklyReachable(); 108 method public abstract java.lang.String toString(); 109 } 110 111 public class AhatSnapshot implements com.android.ahat.heapdump.Diffable { 112 method public com.android.ahat.heapdump.AhatClassObj findClassObj(long); 113 method public com.android.ahat.heapdump.AhatInstance findInstance(long); 114 method public com.android.ahat.heapdump.AhatSnapshot getBaseline(); 115 method public com.android.ahat.heapdump.AhatHeap getHeap(java.lang.String); 116 method public java.util.List<com.android.ahat.heapdump.AhatHeap> getHeaps(); 117 method public com.android.ahat.heapdump.Site getRootSite(); 118 method public java.util.List<com.android.ahat.heapdump.AhatInstance> getRooted(); 119 method public com.android.ahat.heapdump.Site getSite(long); 120 method public boolean isDiffed(); 121 method public boolean isPlaceHolder(); 122 } 123 124 public class Diff { 125 method public static void snapshots(com.android.ahat.heapdump.AhatSnapshot, com.android.ahat.heapdump.AhatSnapshot); 126 } 127 128 public class DiffFields { 129 ctor public DiffFields(); 130 method public static java.util.List<com.android.ahat.heapdump.DiffedFieldValue> diff(java.lang.Iterable<com.android.ahat.heapdump.FieldValue>, java.lang.Iterable<com.android.ahat.heapdump.FieldValue>); 131 } 132 133 public abstract interface Diffable<T> { 134 method public abstract T getBaseline(); 135 method public abstract boolean isPlaceHolder(); 136 } 137 138 public class DiffedFieldValue { 139 method public static com.android.ahat.heapdump.DiffedFieldValue added(com.android.ahat.heapdump.FieldValue); 140 method public static com.android.ahat.heapdump.DiffedFieldValue deleted(com.android.ahat.heapdump.FieldValue); 141 method public static com.android.ahat.heapdump.DiffedFieldValue matched(com.android.ahat.heapdump.FieldValue, com.android.ahat.heapdump.FieldValue); 142 field public final com.android.ahat.heapdump.Value baseline; 143 field public final com.android.ahat.heapdump.Value current; 144 field public final java.lang.String name; 145 field public final com.android.ahat.heapdump.DiffedFieldValue.Status status; 146 field public final com.android.ahat.heapdump.Type type; 147 } 148 149 public static final class DiffedFieldValue.Status extends java.lang.Enum { 150 method public static com.android.ahat.heapdump.DiffedFieldValue.Status valueOf(java.lang.String); 151 method public static final com.android.ahat.heapdump.DiffedFieldValue.Status[] values(); 152 enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status ADDED; 153 enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status DELETED; 154 enum_constant public static final com.android.ahat.heapdump.DiffedFieldValue.Status MATCHED; 155 } 156 157 public class Field { 158 ctor public Field(java.lang.String, com.android.ahat.heapdump.Type); 159 field public final java.lang.String name; 160 field public final com.android.ahat.heapdump.Type type; 161 } 162 163 public class FieldValue { 164 ctor public FieldValue(java.lang.String, com.android.ahat.heapdump.Type, com.android.ahat.heapdump.Value); 165 field public final java.lang.String name; 166 field public final com.android.ahat.heapdump.Type type; 167 field public final com.android.ahat.heapdump.Value value; 168 } 169 170 public class HprofFormatException extends java.lang.Exception { 171 } 172 173 public class Parser { 174 ctor public Parser(java.nio.ByteBuffer); 175 ctor public Parser(java.io.File) throws java.io.IOException; 176 method public com.android.ahat.heapdump.Parser map(com.android.ahat.proguard.ProguardMap); 177 method public com.android.ahat.heapdump.AhatSnapshot parse() throws com.android.ahat.heapdump.HprofFormatException, java.io.IOException; 178 method public static com.android.ahat.heapdump.AhatSnapshot parseHeapDump(java.io.File, com.android.ahat.proguard.ProguardMap) throws com.android.ahat.heapdump.HprofFormatException, java.io.IOException; 179 method public static com.android.ahat.heapdump.AhatSnapshot parseHeapDump(java.nio.ByteBuffer, com.android.ahat.proguard.ProguardMap) throws com.android.ahat.heapdump.HprofFormatException, java.io.IOException; 180 method public com.android.ahat.heapdump.Parser progress(com.android.ahat.progress.Progress); 181 method public com.android.ahat.heapdump.Parser retained(com.android.ahat.heapdump.Reachability); 182 } 183 184 public class PathElement implements com.android.ahat.heapdump.Diffable { 185 ctor public PathElement(com.android.ahat.heapdump.AhatInstance, java.lang.String); 186 method public com.android.ahat.heapdump.PathElement getBaseline(); 187 method public boolean isPlaceHolder(); 188 field public final java.lang.String field; 189 field public final com.android.ahat.heapdump.AhatInstance instance; 190 field public boolean isDominator; 191 } 192 193 public final class Reachability extends java.lang.Enum { 194 method public boolean notWeakerThan(com.android.ahat.heapdump.Reachability); 195 method public static com.android.ahat.heapdump.Reachability valueOf(java.lang.String); 196 method public static final com.android.ahat.heapdump.Reachability[] values(); 197 enum_constant public static final com.android.ahat.heapdump.Reachability FINALIZER; 198 enum_constant public static final com.android.ahat.heapdump.Reachability PHANTOM; 199 enum_constant public static final com.android.ahat.heapdump.Reachability SOFT; 200 enum_constant public static final com.android.ahat.heapdump.Reachability STRONG; 201 enum_constant public static final com.android.ahat.heapdump.Reachability UNREACHABLE; 202 enum_constant public static final com.android.ahat.heapdump.Reachability WEAK; 203 } 204 205 public final class RootType extends java.lang.Enum { 206 method public static com.android.ahat.heapdump.RootType valueOf(java.lang.String); 207 method public static final com.android.ahat.heapdump.RootType[] values(); 208 enum_constant public static final com.android.ahat.heapdump.RootType DEBUGGER; 209 enum_constant public static final com.android.ahat.heapdump.RootType FINALIZING; 210 enum_constant public static final com.android.ahat.heapdump.RootType INTERNED_STRING; 211 enum_constant public static final com.android.ahat.heapdump.RootType JAVA_FRAME; 212 enum_constant public static final com.android.ahat.heapdump.RootType JNI_GLOBAL; 213 enum_constant public static final com.android.ahat.heapdump.RootType JNI_LOCAL; 214 enum_constant public static final com.android.ahat.heapdump.RootType JNI_MONITOR; 215 enum_constant public static final com.android.ahat.heapdump.RootType MONITOR; 216 enum_constant public static final com.android.ahat.heapdump.RootType NATIVE_STACK; 217 enum_constant public static final com.android.ahat.heapdump.RootType STICKY_CLASS; 218 enum_constant public static final com.android.ahat.heapdump.RootType THREAD; 219 enum_constant public static final com.android.ahat.heapdump.RootType THREAD_BLOCK; 220 enum_constant public static final com.android.ahat.heapdump.RootType UNKNOWN; 221 enum_constant public static final com.android.ahat.heapdump.RootType VM_INTERNAL; 222 } 223 224 public class Site implements com.android.ahat.heapdump.Diffable { 225 method public com.android.ahat.heapdump.Site findSite(long); 226 method public com.android.ahat.heapdump.Site getBaseline(); 227 method public java.util.List<com.android.ahat.heapdump.Site> getChildren(); 228 method public java.lang.String getFilename(); 229 method public long getId(); 230 method public int getLineNumber(); 231 method public java.lang.String getMethodName(); 232 method public void getObjects(java.lang.String, java.lang.String, java.util.Collection<com.android.ahat.heapdump.AhatInstance>); 233 method public void getObjects(java.util.function.Predicate<com.android.ahat.heapdump.AhatInstance>, java.util.function.Consumer<com.android.ahat.heapdump.AhatInstance>); 234 method public java.util.List<com.android.ahat.heapdump.Site.ObjectsInfo> getObjectsInfos(); 235 method public com.android.ahat.heapdump.Site getParent(); 236 method public java.lang.String getSignature(); 237 method public com.android.ahat.heapdump.Size getSize(com.android.ahat.heapdump.AhatHeap); 238 method public com.android.ahat.heapdump.Size getTotalSize(); 239 method public boolean isPlaceHolder(); 240 } 241 242 public static class Site.ObjectsInfo implements com.android.ahat.heapdump.Diffable { 243 method public com.android.ahat.heapdump.Site.ObjectsInfo getBaseline(); 244 method public java.lang.String getClassName(); 245 method public boolean isPlaceHolder(); 246 field public com.android.ahat.heapdump.AhatClassObj classObj; 247 field public com.android.ahat.heapdump.AhatHeap heap; 248 field public com.android.ahat.heapdump.Size numBytes; 249 field public long numInstances; 250 } 251 252 public class Size { 253 ctor public Size(long, long); 254 method public long getJavaSize(); 255 method public long getRegisteredNativeSize(); 256 method public long getSize(); 257 method public boolean isZero(); 258 method public com.android.ahat.heapdump.Size plus(com.android.ahat.heapdump.Size); 259 method public com.android.ahat.heapdump.Size plusRegisteredNativeSize(long); 260 field public static com.android.ahat.heapdump.Size ZERO; 261 } 262 263 public class Sort { 264 ctor public Sort(); 265 method public static java.util.Comparator<com.android.ahat.heapdump.AhatInstance> defaultInstanceCompare(com.android.ahat.heapdump.AhatSnapshot); 266 method public static java.util.Comparator<com.android.ahat.heapdump.Site> defaultSiteCompare(com.android.ahat.heapdump.AhatSnapshot); 267 method public static <T> java.util.Comparator<T> withPriority(java.util.Comparator<T>...); 268 field public static final java.util.Comparator<com.android.ahat.heapdump.FieldValue> FIELD_VALUE_BY_NAME; 269 field public static final java.util.Comparator<com.android.ahat.heapdump.FieldValue> FIELD_VALUE_BY_TYPE; 270 field public static final java.util.Comparator<com.android.ahat.heapdump.AhatInstance> INSTANCE_BY_TOTAL_RETAINED_SIZE; 271 field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_CLASS_NAME; 272 field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_HEAP_NAME; 273 field public static final java.util.Comparator<com.android.ahat.heapdump.Site.ObjectsInfo> OBJECTS_INFO_BY_SIZE; 274 field public static final java.util.Comparator<com.android.ahat.heapdump.Site> SITE_BY_TOTAL_SIZE; 275 field public static final java.util.Comparator<com.android.ahat.heapdump.Size> SIZE_BY_SIZE; 276 } 277 278 public final class Type extends java.lang.Enum { 279 method public static com.android.ahat.heapdump.Type valueOf(java.lang.String); 280 method public static final com.android.ahat.heapdump.Type[] values(); 281 enum_constant public static final com.android.ahat.heapdump.Type BOOLEAN; 282 enum_constant public static final com.android.ahat.heapdump.Type BYTE; 283 enum_constant public static final com.android.ahat.heapdump.Type CHAR; 284 enum_constant public static final com.android.ahat.heapdump.Type DOUBLE; 285 enum_constant public static final com.android.ahat.heapdump.Type FLOAT; 286 enum_constant public static final com.android.ahat.heapdump.Type INT; 287 enum_constant public static final com.android.ahat.heapdump.Type LONG; 288 enum_constant public static final com.android.ahat.heapdump.Type OBJECT; 289 enum_constant public static final com.android.ahat.heapdump.Type SHORT; 290 field public final java.lang.String name; 291 } 292 293 public abstract class Value { 294 ctor public Value(); 295 method public com.android.ahat.heapdump.AhatInstance asAhatInstance(); 296 method public java.lang.Byte asByte(); 297 method public java.lang.Character asChar(); 298 method public java.lang.Integer asInteger(); 299 method public java.lang.Long asLong(); 300 method public abstract boolean equals(java.lang.Object); 301 method public static com.android.ahat.heapdump.Value getBaseline(com.android.ahat.heapdump.Value); 302 method public static com.android.ahat.heapdump.Type getType(com.android.ahat.heapdump.Value); 303 method public boolean isAhatInstance(); 304 method public boolean isInteger(); 305 method public boolean isLong(); 306 method public static com.android.ahat.heapdump.Value pack(com.android.ahat.heapdump.AhatInstance); 307 method public static com.android.ahat.heapdump.Value pack(boolean); 308 method public static com.android.ahat.heapdump.Value pack(char); 309 method public static com.android.ahat.heapdump.Value pack(float); 310 method public static com.android.ahat.heapdump.Value pack(double); 311 method public static com.android.ahat.heapdump.Value pack(byte); 312 method public static com.android.ahat.heapdump.Value pack(short); 313 method public static com.android.ahat.heapdump.Value pack(int); 314 method public static com.android.ahat.heapdump.Value pack(long); 315 method public abstract java.lang.String toString(); 316 } 317 318} 319 320package com.android.ahat.progress { 321 322 public class NullProgress implements com.android.ahat.progress.Progress { 323 ctor public NullProgress(); 324 method public void advance(long); 325 method public void done(); 326 method public void start(java.lang.String, long); 327 method public void update(long); 328 } 329 330 public abstract interface Progress { 331 method public default void advance(); 332 method public abstract void advance(long); 333 method public abstract void done(); 334 method public abstract void start(java.lang.String, long); 335 method public abstract void update(long); 336 } 337 338} 339 340package com.android.ahat.proguard { 341 342 public class ProguardMap { 343 ctor public ProguardMap(); 344 method public java.lang.String getClassName(java.lang.String); 345 method public java.lang.String getFieldName(java.lang.String, java.lang.String); 346 method public com.android.ahat.proguard.ProguardMap.Frame getFrame(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int); 347 method public void readFromFile(java.io.File) throws java.io.FileNotFoundException, java.io.IOException, java.text.ParseException; 348 method public void readFromReader(java.io.Reader) throws java.io.IOException, java.text.ParseException; 349 } 350 351 public static class ProguardMap.Frame { 352 field public final java.lang.String filename; 353 field public final int line; 354 field public final java.lang.String method; 355 field public final java.lang.String signature; 356 } 357 358} 359 360