神兵利器-Android性能调优工具Hugo

在进行Android性能调优、减少应用卡顿时,寻找可优化的code是一个必要的过程。如何发现应用中的耗时任务甚至是耗时函数呢,如果可以在log中打印每个方法的执行时间,甚至把执行方法时的输入输出同时打印,绝对是非常棒的功能。

幸运的是jake Wharton大神已经做出了这样的工具:Hugo。

Hugo可以做什么

Hugo可以打印一个方法的输入参数和函数的运行时间:

Hugo怎么用

Hugo 的使用非常简单,只需要在需要打印信息的方法上增加@DebugLog即可:

@DebugLog
public String getName(String first, String last) {
  SystemClock.sleep(15); // Don't ever really do this!
  return first + " " + last;
}

测试:

V/Example: ⇢ getName(first="Jake", last="Wharton")
V/Example: ⇠ getName [16ms] = "Jake Wharton"

当然,使用之前需要在gradle中做一些配置工作:

  1. 添加依赖,配置插件
buildscript {
  repositories {
    mavenCentral()
  }

  dependencies {
    classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'
  }
}

apply plugin: 'com.android.application'
apply plugin: 'com.jakewharton.hugo'

2.Hugo设置
需要关闭Hugo时,可以设置

hugo {
  enabled false
}

也可以在代码中进行设置:

Hugo.setEnabled(true|false)

欢迎关注公众号wutongke,每天推送移动开发前沿技术文章:

wutongke

推荐阅读:

神兵利器-Android性能调优工具Hugo

神兵利器-内存调试插件

炫酷的悬浮操作栏-谷歌出品

ViewPager倒计时播放

Android保存私密信息-强大的keyStore(译)

推荐阅读更多精彩内容