在进行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,了解更多移动开发前沿技术:

android性能调优的工具,神兵利器-Android 性能调优工具 Hugo相关推荐

  1. 【Android CPU 优化】Android CPU 调优 ( Trace 文件分析 | Android Profiler 工具 | CPU Profiler 工具 )

    文章目录 一.Android CPU 优化 二.CPU Profiler 工具 三.相关资源 一.Android CPU 优化 在 Android 中 , 出现 动画掉帧 , 页面切换白屏 , 卡顿 ...

  2. 都说性能调优难?玩转这3款工具,让你秒变“老司机”!

    鲁迅说过:菜鸟写业务,老鸟搭架构,高手玩调优.性能调优可谓是食物链顶端的技术,高薪面试必备良品.然而有不少的开发者,工作多年,却对性能调优几乎一无所知,今天就带大家掰扯掰扯,从性能调优思路,到多款实战 ...

  3. Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调

    Android Studio 是谷歌基于IntelliJ IDEA开发的安卓开发工具,有点类似 Eclipse ADT,Android Studio 提供了集成的 Android 开发工具用于开发和调 ...

  4. linux tcp压测工具,02.监控和压测工具 - 2.4.压测工具 - 《Linux性能调优指南》 - 书栈网 · BookStack...

    压测工具其它有用工具 在这里,我们会讨论主要的压力测试工具,选择合适的压测工具,才能准确衡量系统性能.好的压测工具有很多,可能的功能如下: 发起压力 监控性能 监控系统使用率 生成报告 基准测试无非就 ...

  5. Android 开发工具集合 - (Android Dev Tools)

    收集整理Android开发所需的Android SDK.开发中用到的工具.Android开发教程.Android设计规范,免费的设计素材等. 欢迎大家推荐自己在Android开发过程中用的好用的工具. ...

  6. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)

    文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的.于是在原基础上针 ...

  7. 腾讯优测-优社区干货精选 | android开发在路上:少去踩坑,多走捷径(上)

    文/腾讯公司 陈江峰 优测小优有话说: android开发的坑自然是不少,不想掉坑快来优测优社区~ 最近一朋友提了几个Android问题让我帮忙写个小分享,我觉得对新人还是挺有帮助的.于是在原基础上针 ...

  8. Android性能优化:定性和定位Android图形性能问题——以后台录屏进程为例

    原文链接:https://juejin.cn/post/7096288511053004830 作者github:https://github.com/NasdaqGodzilla 简介 发现.定性与 ...

  9. Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的设计素材

    AndroidDevTools AndroidSDK在线更新镜像服务器 中国科学院开源协会镜像站地址: IPV4/IPV6:mirrors.opencas.cn端口:80 IPV4/IPV6:mirr ...

  10. 【安卓学习之开发工具】 Android 学习-- 下载过的一些项目

    █ [安卓学习之开发工具] Android 学习-- 下载过的一些项目 █ 相关文章: ● [安卓学习之常见问题] app维护可能遇到的问题 ● [IOS学习之常见问题] app维护可能遇到的问题 ● ...

最新文章

  1. java第二章选择题_Java第二章习题讲解(2)
  2. RTMP协议从入门到放弃
  3. 虚线 实现_redis跳跃表实现
  4. 使用Jasper Reports以Java创建报告
  5. 【渝粤教育】国家开放大学2018年春季 0025-21T数据结构 参考试题
  6. 2008年度一个下岗程序员的真实经历
  7. navision系统和sap区别_erp系统与sap的区别是什么?
  8. BoostrapTable的refresh和refreshOptions区别
  9. ubuntu14.04安装arm-linux-gcc,Ubuntu14.04下arm-linux-gcc交叉编译环境搭建
  10. CreateThread函数,无法将参数 3 从“DWORD (__cdecl *)(LPVOID)”转换为“LPTHREAD_START_ROUTINE” PVZCheater
  11. 0字节文件无法删除怎么办
  12. 一个普通前端的2022年终总结:多病的一年
  13. 沈航组成原理作业——1
  14. Packet Tracer(第二期)--4RIP
  15. CUDA流多处理器(stream multiprocessor,sm)和硬件流处理器(stream processor,sp)
  16. 银河英雄传说【带权并查集】
  17. 在线学生计算机,计算机学生顶岗实习计划(网络版)
  18. Elixir GenServer
  19. 《巴黎协定》生效 光伏被视为未来主流能源
  20. python游戏制作rpg_用 Python 语言来写游戏

热门文章

  1. Ubuntu18.04实用快捷键
  2. UE4之windows.h冲突
  3. Vmware之锁定文件失败
  4. 深度学习自学(二十六):人脸数据集
  5. 主板开启网络唤醒(Wake on lan)
  6. 华硕主板开机:loading asus express gate解决办法
  7. 如何构建NTP时间服务器
  8. linux学习笔记:磁盘格式化与磁盘检验命令
  9. python3菜鸟教程电商网站开发_python3菜鸟教程笔记
  10. angular发布代码有缓存_如何在Angular应用程序中执行请求?