淺談Android應用效能之啟動時間

來源:互聯網
上載者:User

應用程式的啟動時間也是衡量應用效能好壞的重要指標之一,所以我們來看一下如何擷取一個程式啟動所需的時間。

擷取程式啟動的時間有幾種方法,詳情見下文分析:


方法一:通過log擷取。

思路:通過記錄開始時間與結束時間,計算時間差來擷取啟動時間。

在onCreate()方法最後一行加入log.e("TAG",""finish),通過查看logcat中的log輸出來計算程式啟動時間。

此種方法需要有原始碼,並且比較原始,不推薦。


方法二:通過ActivityManager輪訓來實現擷取啟動時間。

思路:通過輪訓未出現時間與出現時間,計算時間差來擷取啟動時間。

protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ActivityManager am = (ActivityManager) getSystemService(this.ACTIVITY_SERVICE);List appinfo = am.getRunningAppProcesses();for (RunningAppProcessInfo runningAppProcessInfo : appinfo) {if (runningAppProcessInfo.processName.equals("yourpakagename")) {Log.e("TAG", System.currentTimeMillis() + "");}}}

此方法較第一種方法,不需要原始碼,較精準。


方法三:通過外部調起應用(shell am)的方法來擷取啟動時間。

思路:通過Android shell 命令來調起應用擷取啟動時間。

adb shell am start -W -n yourpakagename/MainActivity
此法擷取的啟動時間非常精準,可精確到毫秒。


綜上三種方法,方法一比較原始但是操作簡單,適用於初學者用於要求不高的黑箱測試;方法二技術要求較高,適合於在手機上開發的應用對其他應用來檢測啟動時間;方法三適用於批量查看應用啟動時間,缺點在於必須擷取所有應用的LanuchActivity。


聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.