這個坑不久前才踩到.佈局
有個充電屏保功能, 爲了優化插電後頁面啓動速度. 由於不能一直插電, 因此不能用traceView看時間, 只好在startActivity()和onCreate(), onStart()裏都加了Log, 查看時間.優化
其中startActivity()和onCreate()是不一樣的進程.spa
結果Log裏顯示每一個方法都消耗不超過100ms, 可是startActivity()與onCreate()之間相差了有1秒鐘. 感受是系統的緣由, 沒有優化的地方了. 覺得啓動一個新的進程須要1秒鐘. 線程
後來換了頁面調用場景, 用traceView發現onCreate實際使用了700ms時間. 罪魁就是佈局文件inflate()方法耗時太長. 進程
詳細的緣由還在看源碼, LogCat的輸出時間並不許確. 大概是在UI線程啓動後, 纔開始輸出.源碼
因此, 若是要查看方法時間, 儘可能不要使用Log, 仍是用traceViewit