Android 开发中踩过的坑之五:LogCat的输出时间并不许确

这个坑不久前才踩到.布局


有个充电屏保功能, 为了优化插电后页面启动速度. 由于不能一直插电, 因此不能用traceView看时间, 只好在startActivity()和onCreate(), onStart()里都加了Log, 查看时间.优化

其中startActivity()和onCreate()是不一样的进程.spa

结果Log里显示每一个方法都消耗不超过100ms, 可是startActivity()与onCreate()之间相差了有1秒钟. 感受是系统的缘由, 没有优化的地方了. 觉得启动一个新的进程须要1秒钟. 线程

后来换了页面调用场景, 用traceView发现onCreate实际使用了700ms时间. 罪魁就是布局文件inflate()方法耗时太长. 进程

详细的缘由还在看源码, LogCat的输出时间并不许确. 大概是在UI线程启动后, 才开始输出.源码

因此, 若是要查看方法时间, 尽可能不要使用Log, 仍是用traceViewit

相关文章
相关标签/搜索