app啟動速度

來源:互聯網
上載者:User

標籤:android   style   blog   tar   width   get   

跟蹤代碼發現,應用啟動時的白屏會持續到draw調用完成,這個過程中任何耗時操作將導致白屏時間增長。

1.adb shell am start -W -n yourpakagename/MainActivity

 -W: wait for launch to complete 這裡的launch to complete一直沒理解是到哪裡

優點:可快速測試啟動時間,與其他應用進行對比。

但第一個頁面展示的時間不太一樣。

2.System.currentTimeMillis()

本打算用它測試1到底是誰的時間,可惜date +%s%N在android裡面不好使,只能列印秒,沒有納秒也就無法顯示毫秒。

雖然其他應用可以在調用shell之前列印時間,但列印時間到shell執行中途似乎時間很不準備。也就無法考證了。

2. Log.e("TimeRun", "resume " + android.os.Process.getElapsedCpuTime());

列印進程已耗用時間,和2一樣,快速分析不好使,具體分析也不好使。

3.還是traceView在大概知道程式有問題的情況下好使

android.os.Debug.startMethodTracing("application");

android.os.Debug.stopMethodTracing();

產生/sdcard/application.trace檔案,使用traceview開啟可以跟蹤啟動時耗時的函數

我的程式啟動在1s以上,發現大部分消耗在布局和繪圖上,原來如果布局中每增加一個比較大的imageview時,上述時間都會數十上百毫秒的時間遞增。

而前面為了匹配各種機型,直接使用了720*720的圖片,背景,遮罩,等等有5層,這個速度直線飆升呀。

以後還是針對不同機型採用不同的尺寸吧。對於大尺寸的,希望有哪位朋友能幫忙指點一下。

 

最好還是結合1和3共同分析

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.