Logcat过滤Displayed
这个值代表了从应用进程启动到完成Activity绘制所花费时间。这个过程包含了以事件序列:
1. 启动应用进程,
2. 初始化对象
3. 创建和初始化Activity
4. 构建布局
5. 首次绘制应用
输入日志如下:
2018-12-04 16:15:31.651 1648-1673/? I/ActivityManager: Displayed com.gex.course/.activity.MainActivity: +508ms
2018-12-04 16:15:36.533 1648-1673/? I/ActivityManager: Displayed com.gex.course/.activity.VideoPlayActivity: +302ms
2018-12-04 16:15:42.251 1648-1673/? I/ActivityManager: Displayed com.gex.course/.activity.AudioDetailsActivity: +124ms
2018-12-04 16:16:03.362 1648-1673/? I/ActivityManager: Displayed com.gex.course/.activity.UserLoginActivity: +122ms
使用Hugo的目的
在log中打印每个方法的执行时间,甚至把执行方法时的输入输出同时打印,从而对相关方法的代码进行效率和性能的优化,绝对是非常棒的功能
配置方法
在build.gradle文件中配置一下相关代码
applyplugin:'com.jakewharton.hugo'
dependencies {
classpath'com.jakewharton.hugo:hugo-plugin:1.2.1'//性能调试工具
}
使用方法
在每个类的方法前调用@DebugLog,比如
@DebugLog
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
控制台log日志输出
temp1.png