专栏首页姚志锋的专栏Android 开发: 小工具,大效率
原创

Android 开发: 小工具,大效率

一、Hugo插件 —— 打印方法运行时间

首先申明下,此Hugo非 彼Hugo(Hugo是由Go语言实现的静态网站生成器)。

Hugo插件作用 :

  • 能够计算并打印一个方法的输入参数和函数的运行时间
  • Hugo插件应用场景:
  • 处理Android 应用卡顿问题

(1)先看实例

1)在对应方法处标注@DebugLog

SearchResultPanel::dispatchResult处标记@DebugLog

2)Hugo插件计算的运行时间

Hugo插件计算的运行时间

第一行:打印执行方法及其参数

第二行:方法执行时间

3)常规日志打印运行时间

常规日志打印运行时间

(2)Hugo 插件配置

1)在buildscript 的dependencies中添加依赖地址

classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'

2)apply插件

applyplugin:'com.jakewharton.hugo'

3)使用开关配置

方式一 :


hugo {

enabled false

}

方式二 :

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"

查看当前栈顶的Activity的Fragment :adb shell dumpsys activity your.package.name

(2)Activity Tracer App

在这里介绍一种更为简便的工具查看栈顶Activity,Activity Tracer ,是一个查看栈顶Activity的简易App工具。

使用效果如下 :

专辑详情页

相关地址:

四、开发助手 —— 方便切换开发者配置

开发助手 —— Trinea 大神佳作,在此不过多介绍,详情请看:Android 应用开发调试利器——开发助手,数十倍效率提升

开发助手主界面

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 速读原著-TCP/IP(保活举例)

    现在详细讨论前一节提到的第 2、3和4种情况。我们将在使用这个选项的情况下检查所交换的分组。

    cwl_java
  • tomcat开机启动和服务

    说明: 这里的启动脚本可以把它分为3个部分,第一部分是申明启动脚本和注释,第二部分是定义路径的变量,第三部分是一个case...in条件选择结构。

    用户1499526
  • 深度好文!UI界面视觉平衡的终极指南

    “ 一看就会,一做就废 ”,设计师们常常对最新的技术、风格、发展趋势侃侃而谈,却忽略了最基础的原则和理论.

    用户5009027
  • 从小白到独立开发Android和IOS两种平台app过程与总结

    16年上半年在帮老师,帮外面随便做点东西以便得到些生活费养活自己。下半年去外面公司待了一段时间,然后选择回来帮自己做个东西,历时三个月,独自完成安卓及IOS版本...

    用户2802329
  • 存储过程中指定参数

    一个过程最多可以有 2100 个参数,每个参数都有名称、数据类型和方向。 还可以为参数指定默认值(可选)。

    Vincent-yuan
  • 【AI快报】Deepmind投向Tensorflow | 谷歌无人车或与菲亚特克莱斯勒合作

    DeepMind开始使用TensorFlow ? 美国时间4月29日, 谷歌 Deepmind研究团队科学家Koray Kavukcuoglu在谷歌的博客上...

    新智元
  • 细说shiro之二:组件架构

    Shiro主要组件包括:Subject,SecurityManager,Authenticator,Authorizer,SessionManager,Cach...

    2Simple
  • mysql 修改root密码提示1064语法错误问题解决

    centos7安装mysql8.0.13时候,mysql 修改root密码时总是提示1064语法错误,尝试使用如下语句修改root密码,出现错误提示如下

    kirin
  • mySQL.apache2.tomcat自动启动设置方法

    mySQLhe apache2这两个服务可以直接用sysv-rc-donf 先安装:

    Locker
  • Android上的TensorFlow Lite,了解一下?

    TensorFlow Lite是TensorFlow针对移动和嵌入式设备的轻量级解决方案。它可以在移动设备上高效运行机器学习模型,因此您可以利用这些模型进行分类...

    云水木石

扫码关注云+社区

领取腾讯云代金券