Android 開發中踩過的坑之五:LogCat的輸出時間並不許確

這個坑不久前才踩到.佈局


有個充電屏保功能, 爲了優化插電後頁面啓動速度. 由於不能一直插電, 因此不能用traceView看時間, 只好在startActivity()和onCreate(), onStart()裏都加了Log, 查看時間.優化

其中startActivity()和onCreate()是不一樣的進程.spa

結果Log裏顯示每一個方法都消耗不超過100ms, 可是startActivity()與onCreate()之間相差了有1秒鐘. 感受是系統的緣由, 沒有優化的地方了. 覺得啓動一個新的進程須要1秒鐘. 線程

後來換了頁面調用場景, 用traceView發現onCreate實際使用了700ms時間. 罪魁就是佈局文件inflate()方法耗時太長. 進程

詳細的緣由還在看源碼, LogCat的輸出時間並不許確. 大概是在UI線程啓動後, 纔開始輸出.源碼

因此, 若是要查看方法時間, 儘可能不要使用Log, 仍是用traceViewit

相關文章
相關標籤/搜索