> [Speed up your app](http://blog.udinic.com/2015/09/15/speed-up-your-app?from=timeline&isappinstalled=0)
# Android Studio版的特點
Allocation Tracker(AS)工具比Allocation Tracker(Eclipse)工具強大的地方是更炫酷,更清晰,但是能做的事情都是一樣的。
# Allocation Tracker啟動

在內存圖中點擊途中標紅的部分,啟動追蹤,再次點擊就是停止追蹤,隨后自動生成一個alloc結尾的文件,這個文件就記錄了這次追蹤到的所有數據,然后會在右上角打開一個數據面板:?

面板左上角是所有歷史數據文件列表,后面是詳細信息,好,現在我們來看詳細介紹信息面板:?

下面我們用字母來分段介紹
## A:查看方式選項
A標識的是一個選擇框,有2個選項?

* Group by Method:用方法來分類我們的內存分配
* Group by Allocator:用內存分配器來分類我們的內存分配?
不同的選項,在D區顯示的信息會不同,默認會以Group by Method來組織,我們來看看詳細信息:

從上圖可以看出,首先以線程對象分類,默認以分配順序來排序,當然你可以更改,只需在Size上點擊一下就會倒序,如果以Count排序也是一樣,Size就是內存大小,Count就是分配了多少次內存,點擊一下線程就會查看每個線程里所有分配內存的方法,并且可以一步一步迭代到最底部:?
?

當你以Group by Allocator來查看內存分配的情況時,詳細信息區域就會變成如下:?

默認還是以內存分配順序來排序,但是是以每個分配者第一次分配內存的順序:?
?
這種方式顯示的好處,是我們很好的定位我們自己的代碼的分析信息,比如上圖中,以包名來找到我們的程序,在這次追蹤中包民根目錄一共有五個類作為分配器分配了78-4-1=73次內存。
## B:Jump To Source按鈕
如果我們想看內存分配的實際在源碼中發生的地方,可以選擇需要跳轉的對象,點擊該按鈕就能發現我們的源碼,但是前提是你有源碼:
?
如果你能跳轉到源碼,Jump To Source按鈕才是可用的,都是跳轉到類。
## C:統計圖標按鈕
該按鈕比較酷炫,如果點擊該按鈕,會彈出一個新窗口,里面是一個酷炫的統計圖標,有柱狀圖和輪胎圖兩種圖形可供選擇,默認是輪胎圖,其中分配比例可以選擇分配次數和占用內存大小,默認是大小Size
## 輪胎圖
?
輪胎圖是以圓心為起點,最外層是其內存實際分配的對象,每一個同心圓可能被分割成多個部分,代表了其不同的子孫,每一個同心圓代表他的一個后代,每個分割的部分代表了某一帶人有多人,你雙擊某個同心圓中某個分割的部分,會變成以你點擊的那一代為圓心再向外展開。如果想回到原始狀態,雙擊圓心就可以了。
1.起點
?
圓心是我們的起點處,如果你把鼠標放到我圖中標注的區域,會在右邊顯示當前指示的是什么線程(Thread1)以及具體信息(分配了8821次,分配了564.18k的內存),但是紅框標注的區域并不代表Thread1,而是第一個同心圓中占比最大的那個線程,所以我們現在把鼠標放到第一個同心圓上,可以看出來,我們劃過同心圓的軌跡時可以看到右邊的樹枝變化了好幾個值:?
?
2.查看某一個扇面?
我們剛打開是全局信息,我們如果想看其中某個線程,詳細信息,可以順著某個扇面向外圍滑動,當然如果你覺得不還是不清晰,可以雙擊該扇面全面展現該扇面的信息:

在某個地方雙擊時,新的輪胎圖是以雙擊點為圓心,你如果想到剛才的圓,雙擊圓心空白處就可以:?
?
3.一個內存的完整路徑?
?

## 柱狀圖:
?
柱狀圖以左邊為起始點,從左到右的順序是某個的堆棧信息順序,縱坐標上的寬度是以其Count/Size的大小決定的。柱狀圖的內容其實和輪胎圖沒什么特別的地方
1.起點
?
2.查看某一個分支
?
3.Count/Size切換
