日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android性能分析工具的使用

一、Android Studio-Memory Monitor

使用方法

run起你的項(xiàng)目,找到Memory Monitor窗口,選擇Memory

[轉(zhuǎn)]內(nèi)存變化波形圖

另外,還可選擇查看CPU和GPU還有NetWork的使用情況。

網(wǎng)絡(luò)使用波形圖.png

其中NetWork的頻繁使用是造成應(yīng)用耗電的關(guān)鍵,70%左右的電量是被上報(bào)數(shù)據(jù),檢查位置信息,定時(shí)檢索后臺廣告信息所使用掉的。如何平衡這兩者的電量消耗,就顯得非常重要了。

二、Android Studio 1.5 Preview 新玩具-Heap Snapshot

使用方法

同樣run起項(xiàng)目,進(jìn)行一些操作之后點(diǎn)擊左下角‘Dump Java Heap’的按鈕

每次點(diǎn)擊之后會生成一個(gè).hprof的文件

點(diǎn)擊一個(gè).hprof文件,查看右側(cè)的analyzer test,能看到兩個(gè)選項(xiàng)

一個(gè)是‘Detect Leaeked Activites’,另一個(gè)是'Find Duplicate Strings',點(diǎn)擊右上角的綠色播放按鈕,會自動(dòng)分析heap dump去定位泄露的activity和重復(fù)的string,出現(xiàn)如下的Analysis Results。

該面板里的信息可以有三種類型:app heap/image heap/zygote heap.

分別代表app 堆內(nèi)存信息,圖片堆內(nèi)存信息,zygote進(jìn)程的堆內(nèi)存信息。

各屬性中英文對照表

名稱Total CountHeap CountSizeofShallow sizeRetained Size
意義內(nèi)存中該類的對象個(gè)數(shù)堆內(nèi)存中該類的對象個(gè)數(shù)物理大小對象本身占有內(nèi)存大小釋放該對象后,節(jié)省的內(nèi)存大小
名稱depthShallow SizeDominating Size
意義深度對象本身內(nèi)存大小管轄的內(nèi)存大小

三、Eclipse-Allocation Tracker(分配跟蹤器)

使用方法

點(diǎn)擊“Start Tracking”,在應(yīng)用中執(zhí)行某個(gè)操作,然后點(diǎn)擊“Get Allocations”。

Allocation Tracker

特點(diǎn)

a.需要進(jìn)行間斷的操作

b.可定位到具體某一行代碼

四、hierarchyviewer

使用hierarchyviewer查看需要檢查的頁面的層次,檢查頁面最深層數(shù), 官方建議最好控制在10層以內(nèi)

hierarchyviewer

布局層級優(yōu)化方案:

1). 自定義控件使用merge標(biāo)簽來減少不必要的根節(jié)點(diǎn);

2).使用drawbleleft,代替多添加一個(gè)imageview;

3).有時(shí)使用relativelayout會比linearlayout需要更少層次就能達(dá)到實(shí)現(xiàn)效果;

4).使用viewstub來隱藏控件,ViewStub中的布局只有在你需要的時(shí)候才會渲染到主界面中;

...

五、leakcanary(Android 和 Java 內(nèi)存泄露檢測框架)

AndroidStudio

https://github.com/square/leakcanary

Eclipse

https://github.com/SOFTPOWER1991/LeakcanarySample-Eclipse

六、手機(jī)設(shè)置->開發(fā)者選項(xiàng)

1. Show GPU Overdraw

Show GPU Overdraw

藍(lán)色,淡綠,淡紅,深紅代表了4種不同程度的Overdraw情況,我們的目標(biāo)就是盡量減少紅色Overdraw,看到更多的藍(lán)色區(qū)域。

優(yōu)化方案:

Overdraw有時(shí)候是因?yàn)槟愕腢I布局存在大量重疊的部分,還有的時(shí)候是因?yàn)榉潜仨毜闹丿B背景。例如某個(gè)Activity有一個(gè)背景,然后里面 的Layout又有自己的背景,同時(shí)子View又分別有自己的背景。僅僅是通過移除非必須的背景圖片,這就能夠減少大量的紅色Overdraw區(qū)域,增加 藍(lán)色區(qū)域的占比。這一措施能夠顯著提升程序性能。

Profile GPU Rendering - 選中On screen as bars的選項(xiàng)

每一條柱狀線都包含三部分,藍(lán)色代表測量繪制Display List的時(shí)間,紅色代表OpenGL渲染Display List所需要的時(shí)間,黃色代表CPU等待GPU處理的時(shí)間。

中間有一根綠色的橫線,代表16ms,我們需要確保每一幀花費(fèi)的總時(shí)間都低于這條橫線,這樣才能夠避免出現(xiàn)卡頓的問題。


當(dāng)前名稱:Android性能分析工具的使用
文章地址:http://www.dlmjj.cn/article/coeeiph.html