学习自
https://juejin.im/post/5a6fd7b86fb9a01ca47ac6e8
adb shell dumpsys gfxinfo
这个是一个方法,但是用的不多
从looper入手
// This must be in a local variable, in case a UI event sets the logger final Printer logging = me.mLogging; if (logging != null) { logging.println(">>>>> Dispatching to " + msg.target + " " + msg.callback + ": " + msg.what); } final long traceTag = me.mTraceTag; if (traceTag != 0) { Trace.traceBegin(traceTag, msg.target.getTraceName(msg)); } try { msg.target.dispatchMessage(msg); } finally { if (traceTag != 0) { Trace.traceEnd(traceTag); } } if (logging != null) { logging.println("<<<<< Finished to " + msg.target + " " + msg.callback); }可以看到msg的执行前后都有log,所以我们只要拿到前后log的时间差就可以拿到我们msg执行的时间了(视图绘