• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2008 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.ddmlib;
18 
19 /**
20  * Holds an Allocation information.
21  */
22 public class AllocationInfo implements Comparable<AllocationInfo>, IStackTraceInfo {
23     private String mAllocatedClass;
24     private int mAllocationSize;
25     private short mThreadId;
26     private StackTraceElement[] mStackTrace;
27 
28     /*
29      * Simple constructor.
30      */
AllocationInfo(String allocatedClass, int allocationSize, short threadId, StackTraceElement[] stackTrace)31     AllocationInfo(String allocatedClass, int allocationSize,
32         short threadId, StackTraceElement[] stackTrace) {
33         mAllocatedClass = allocatedClass;
34         mAllocationSize = allocationSize;
35         mThreadId = threadId;
36         mStackTrace = stackTrace;
37     }
38 
39     /**
40      * Returns the name of the allocated class.
41      */
getAllocatedClass()42     public String getAllocatedClass() {
43         return mAllocatedClass;
44     }
45 
46     /**
47      * Returns the size of the allocation.
48      */
getSize()49     public int getSize() {
50         return mAllocationSize;
51     }
52 
53     /**
54      * Returns the id of the thread that performed the allocation.
55      */
getThreadId()56     public short getThreadId() {
57         return mThreadId;
58     }
59 
60     /*
61      * (non-Javadoc)
62      * @see com.android.ddmlib.IStackTraceInfo#getStackTrace()
63      */
getStackTrace()64     public StackTraceElement[] getStackTrace() {
65         return mStackTrace;
66     }
67 
compareTo(AllocationInfo otherAlloc)68     public int compareTo(AllocationInfo otherAlloc) {
69         return otherAlloc.mAllocationSize - mAllocationSize;
70     }
71 }
72