1packet { 2 trusted_packet_sequence_id: 999 3 timestamp: 10 4 heap_graph { 5 pid: 2 6 types { 7 id: 54 8 location_id: 5 9 class_name: "java.lang.Object" 10 object_size: 8 11 kind: KIND_NOREFERENCES 12 classloader_id: 0 13 } 14 types { 15 id: 12171 16 location_id: 5 17 class_name: "java.lang.ref.Reference" 18 object_size: 24 19 superclass_id: 54 20 reference_field_id: 1 # pendingNext 21 reference_field_id: 2 # queue 22 reference_field_id: 3 # queueNext 23 reference_field_id: 15420 # referent 24 kind: KIND_NORMAL 25 classloader_id: 0 26 } 27 types { 28 id: 11645 29 location_id: 5 30 class_name: "java.lang.ref.PhantomReference" 31 object_size: 24 32 superclass_id: 12171 33 kind: KIND_PHANTOM_REFERENCE 34 classloader_id: 0 35 } 36 types { 37 id: 17 38 location_id: 5 39 class_name: "sun.misc.Cleaner" 40 object_size: 36 41 superclass_id: 11645 42 reference_field_id: 14946 # next 43 reference_field_id: 14947 # prev 44 reference_field_id: 14948 # thunk 45 kind: KIND_PHANTOM_REFERENCE 46 classloader_id: 0 47 } 48 types { 49 id: 11646 50 location_id: 5 51 class_name: "java.lang.Class<sun.misc.Cleaner>" 52 } 53 types { 54 id: 16 55 location_id: 10 56 class_name: "libcore.util.NativeAllocationRegistry$CleanerThunk" 57 object_size: 24 58 superclass_id: 54 59 reference_field_id: 19501 # this$0 60 kind: KIND_NORMAL 61 classloader_id: 0 62 } 63 types { 64 id: 778 65 location_id: 10 66 class_name: "libcore.util.NativeAllocationRegistry" 67 object_size: 32 68 superclass_id: 54 69 reference_field_id: 19502 70 kind: KIND_NORMAL 71 classloader_id: 0 72 } 73 types { 74 id: 777 75 location_id: 6 76 class_name: "android.graphics.Bitmap" 77 object_size: 46 78 superclass_id: 54 79 # References omitted 80 kind: KIND_NORMAL 81 classloader_id: 0 82 } 83 types { 84 id: 15 85 location_id: 8 86 class_name: "android.os.BinderProxy" 87 object_size: 17 88 superclass_id: 54 89 kind: KIND_NOREFERENCES 90 classloader_id: 0 91 } 92 objects { 93 id: 0x1 94 type_id: 777 # android.graphics.Bitmap 95 } 96 objects { 97 id: 0x2 98 type_id: 15 # android.os.BinderProxy 99 } 100 objects { 101 id: 0x3 102 type_id: 778 # libcore.util.NativeAllocationRegistry 103 reference_object_id: 0x0 # classLoader omitted 104 native_allocation_registry_size_field: 123456 105 } 106 objects { 107 id: 0x4 108 type_id: 16 # libcore.util.NativeAllocationRegistry$CleanerThunk 109 reference_object_id: 0x3 # this$0 110 } 111 objects { 112 id: 0x5 113 type_id: 16 # libcore.util.NativeAllocationRegistry$CleanerThunk 114 reference_object_id: 0x3 # this$0 115 } 116 # This Cleaner has not been deleted: it's reachable from a root (through the 117 # sun.misc.Cleaner.first static field). 118 objects { 119 id: 0x6 120 type_id: 17 # sun.misc.Cleaner 121 reference_object_id: 0x0 # next 122 reference_object_id: 0x0 # prev 123 reference_object_id: 0x4 # thunk 124 reference_object_id: 0x0 # pendingNext 125 reference_object_id: 0x0 # queue 126 reference_object_id: 0x0 # queueNext 127 reference_object_id: 0x1 # referent 128 } 129 # This Cleaner has been deleted: it's not reachable from a root and its .prev 130 # and .next point to this. 131 objects { 132 id: 0x7 133 type_id: 17 # sun.misc.Cleaner 134 reference_object_id: 0x7 # next 135 reference_object_id: 0x7 # prev 136 reference_object_id: 0x5 # thunk 137 reference_object_id: 0x0 # pendingNext 138 reference_object_id: 0x0 # queue 139 reference_object_id: 0x0 # queueNext 140 reference_object_id: 0x2 # referent 141 } 142 objects { 143 id: 0x8 144 type_id: 11646 # java.lang.Class<sun.misc.Cleaner> 145 self_size: 288 146 # omitted fields 147 reference_field_id: 14950 # first 148 reference_object_id: 0x6 149 } 150 roots { 151 object_ids: 0x8 152 root_type: ROOT_STICKY_CLASS 153 } 154 roots { 155 object_ids: 0x1 156 object_ids: 0x2 157 root_type: ROOT_JAVA_FRAME 158 } 159 field_names { 160 iid: 1 161 str: "java.lang.ref.Reference java.lang.ref.Reference.pendingNext" 162 } 163 field_names { 164 iid: 2 165 str: "java.lang.ref.ReferenceQueue java.lang.ref.Reference.queue" 166 } 167 field_names { 168 iid: 3 169 str: "java.lang.ref.Reference java.lang.ref.Reference.queueNext" 170 } 171 field_names { 172 iid: 14950 173 str: "sun.misc.Cleaner sun.misc.Cleaner.first" 174 } 175 field_names { 176 iid: 15420 177 str: "java.lang.Object java.lang.ref.Reference.referent" 178 } 179 field_names { 180 iid: 14946 181 str: "sun.misc.Cleaner sun.misc.Cleaner.next" 182 } 183 field_names { 184 iid: 14947 185 str: "sun.misc.Cleaner sun.misc.Cleaner.prev" 186 } 187 field_names { 188 iid: 14948 189 str: "java.lang.Runnable sun.misc.Cleaner.thunk" 190 } 191 field_names { 192 iid: 19501 193 str: "libcore.util.NativeAllocationRegistry libcore.util.NativeAllocationRegistry$CleanerThunk.this$0" 194 } 195 field_names { 196 iid: 19502 197 str: "java.lang.ClassLoader libcore.util.NativeAllocationRegistry.classLoader" 198 } 199 location_names { 200 iid: 5 201 str: "/apex/com.android.art/javalib/core-oj.jar" 202 } 203 location_names { 204 iid: 10 205 str: "/apex/com.android.art/javalib/core-libart.jar" 206 } 207 location_names { 208 iid: 6 209 str: "/system/framework/framework.jar" 210 } 211 location_names { 212 iid: 8 213 str: "/system/framework/framework.jar!classes2.dex" 214 } 215 index: 0 216 } 217} 218