測(cè)試應(yīng)用的啟動(dòng)時(shí)間
adb shell am start -W packagename/activity,eg:adb shell am start -W com.tencent.mm/.ui.LauncherUI,顯示的結(jié)果中,thisTime和totalTime的含義分別為:
- thisTime: just current activity launched time
- totalTime:the activity you started may be on the bottom of activity stack. So it refers to the total time from activity searching to current activity launched. inal long thisTime = curTime - displayStartTime; final long totalTime = stack.mLaunchStartTime != 0? (curTime - stack.mLaunchStartTime) : thisTime;
實(shí)時(shí)顯示程序的內(nèi)存消耗
- 訊飛Android應(yīng)用性能測(cè)試工具:[iTest]
- (http://itest.iflytesting.com/?p=1)
- Android Studio—>Android Monitor—>Memory/CPU|GPU通過(guò)觀測(cè)程序運(yùn)行過(guò)程中的內(nèi)存狀態(tài)可以粗略地檢測(cè)到哪些界面存在內(nèi)存泄漏、哪些地方存在內(nèi)存抖動(dòng)(內(nèi)存抖動(dòng)時(shí)可能觸發(fā)GC,導(dǎo)致程序出現(xiàn)卡頓的現(xiàn)象)、優(yōu)化效果等。
FPS查看工具
- FpsService,一個(gè)實(shí)時(shí)查看幀率的工具,需要集成到代碼中才能使用。
內(nèi)存泄漏查詢工具
- leakcanary,這個(gè)需要集成到代碼中才能正常使用,Github上也有Eclipse的版本。當(dāng)在操作程序的過(guò)程中有內(nèi)存泄漏時(shí)會(huì)彈出內(nèi)存泄漏詳細(xì)的通知信息,在使用這個(gè)工具的時(shí)候程序會(huì)存在卡頓的現(xiàn)象,因?yàn)檫@個(gè)工具就是通過(guò)觸發(fā)系統(tǒng)GC來(lái)檢測(cè)哪些對(duì)象沒(méi)有釋放確認(rèn)是否有內(nèi)存泄漏的,java并沒(méi)有嚴(yán)格意義的內(nèi)存泄漏,只是某些對(duì)象持有的時(shí)間太長(zhǎng)導(dǎo)致了系統(tǒng)的內(nèi)存不能夠立即釋放,導(dǎo)致運(yùn)存不足。關(guān)于Leakcanry的參考資料可以看看:LeakCanary 中文使用說(shuō)明、LeakCanary: 讓內(nèi)存泄露無(wú)所遁形
靜態(tài)代碼質(zhì)量檢測(cè)工具
- Android Studio—>Analyze—>Inspect Code通過(guò)靜態(tài)代碼質(zhì)量檢測(cè)工具可以刪掉工程中無(wú)用的資源文件、發(fā)現(xiàn)潛在的內(nèi)存泄漏問(wèn)題、明顯的代碼問(wèn)題、簡(jiǎn)化代碼等等。
檢測(cè)應(yīng)用耗時(shí)工具
性能測(cè)試移動(dòng)端工具
- 訊飛Android應(yīng)用性能測(cè)試工具:iTest
- 騰訊開發(fā)的GT
- Android 5.0原生系統(tǒng)設(shè)置中的開發(fā)者模式,里面內(nèi)置了一系列的性能測(cè)試工具,可以在程序運(yùn)行的過(guò)程中測(cè)試各界面顯示的效率、布局的性能問(wèn)題、內(nèi)存問(wèn)題、ANR等問(wèn)題。
耗電檢測(cè)工具
- Battery Historian
- BetterBatteryStats
- Wakelock Detector