更多腾讯海量技术文章,请关注云加社区:https://cloud.tencent.com/developer
作者:姚志锋
一、Hugo插件 —— 打印方法运行时间
首先申明下,此Hugo非 彼Hugo(Hugo是由Go语言实现的静态网站生成器)。
Hugo插件作用 :
能够计算并打印一个方法的输入参数和函数的运行时间
Hugo插件应用场景:
处理Android 应用卡顿问题
(1)先看实例
1)在对应方法处标注@DebugLog
SearchResultPanel::dispatchResult处标记@DebugLog
2)Hugo插件计算的运行时间
Hugo插件计算的运行时间
第一行:打印执行方法及其参数
第二行:方法执行时间
3)常规日志打印运行时间
常规日志打印运行时间
(2)Hugo 插件配置
1)在buildscript 的dependencies中添加依赖地址
2)apply插件
applyplugin:'com.jakewharton.hugo'
3)使用开关配置
方式一 :
hugo
方式二 :
Hugo.setEnabled(true|false)
备注 :How to use Hugo.setEnabled(true)? (暂时好像还不行)
Hugo插件详细资料可参考 : Hugo插件 Github 地址
二、Godeyes 插件 —— Crash隐患扫描工具
Godeyes是一款专门针对无线APP代码Crash隐患的静态扫描工具,能够对Android 和 iOS 两个平台代码进行检查,同时支持Mac 、Windows、Linux三种操作系统。
扫描规则源自项目crash案例代码分析,扫描准确率高达90%以上,针对Android 应用,Godeys已经提供了Android Studio 插件版本。
(1)Godeyes 插件配置
1)Godeyes配置项
配置输出报告格式类型、编码格式、输出路径 (可配置到RDM输出)
Godeyes配置项
2)扫描规则配置
扫描规则配置
3)白名单配置
详情可参照 :Godeyes 使用说明
(2)其他静态扫描工具
Android 代码规范神器 CheckStyle使用全面解析
代码缺陷扫描神器——FindBugs
三、Activity Tracker —— 显示栈顶Activity信息
(1)背景介绍
在日常需求开发中,经常碰到不太熟悉的模块,如何快速定位相应页面?一般有以下几张方式:
1)根据项目中的模块划分及命名,在项目目录中搜寻;
2)使用UI Automator Viewer 工具定位所在模块页面某个控件
UI Automator Viewer 工具定位
缺点:项目中不是所有控件在xml中都写上了android:id ,特别是组里现在使用databinding后。
3)使用 adb 工具
查看当前Activity :adb shell "dumpsys window w | grep name="
其他相关操作:
查看当前栈顶的Activity :adb shell dumpsys activity | grep "mFocusedActivity"
(2)Activity Tracer App
在这里介绍一种更为简便的工具查看栈顶Activity,Activity Tracer ,是一个查看栈顶Activity的简易App工具。
使用效果如下 :
四、开发助手 —— 方便切换开发者配置
开发助手 —— Trinea 大神佳作,在此不过多介绍,详情请看:Android 应用开发调试利器——开发助手,数十倍效率提升
开发助手主界面
领取专属 10元无门槛券
私享最新 技术干货