博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 开发—— 小工具,大效率
阅读量:6216 次
发布时间:2019-06-21

本文共 1701 字,大约阅读时间需要 5 分钟。

欢迎大家关注,我们将持续在博客园为大家推荐技术精品文章哦~

作者:姚志锋

一、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)

备注 :(暂时好像还不行)

Hugo插件详细资料可参考 : 

二、Godeyes 插件 —— Crash隐患扫描工具

Godeyes是一款专门针对无线APP代码Crash隐患的静态扫描工具,能够对Android 和 iOS 两个平台代码进行检查,同时支持Mac 、Windows、Linux三种操作系统。

扫描规则源自项目crash案例代码分析,扫描准确率高达90%以上,针对Android 应用,Godeys已经提供了Android Studio 插件版本。

(1)Godeyes 插件配置

1)Godeyes配置项

配置输出报告格式类型、编码格式、输出路径 (可配置到RDM输出)

Godeyes配置项

2)扫描规则配置

扫描规则配置

3)白名单配置

详情可参照 :

(2)其他静态扫描工具

三、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 大神佳作,在此不过多介绍,详情请看:

开发助手主界面

 

【有奖讨论】那些年坑过你的编程问题?参与讨论有机会获得 Cherry 黑轴机械键盘 
 欢迎加入QQ群:374933367,与腾云阁原创作者们一起交流,更有机会参与技术大咖的在线分享!

相关阅读


此文已由作者授权腾讯云技术社区发布,转载请注明

原文链接:https://www.qcloud.com/community/article/439099
获取更多腾讯海量技术实践干货,欢迎大家前往

 

你可能感兴趣的文章
人人都应学习的公链知识——比原总体架构
查看>>
用Go实现Redis之四实现Redis的协议交互
查看>>
【Elasticsearch】第6篇:Elasticsearch的CURD
查看>>
node项目部署到linux服务器(二):虚拟机系统网卡配置
查看>>
浅谈Golang中创建一个简单的服务器
查看>>
Python学习之路5-字典
查看>>
ES6类以及继承的实现原理
查看>>
Webpack附录
查看>>
swoole_event_add实现异步
查看>>
Vue过渡与动画
查看>>
收集的可视化的demo
查看>>
计算机网络(二)网络层
查看>>
javascript的函数式编程方法
查看>>
springboot rabbitmq 补充
查看>>
PhpStorm下提示Phalcon框架语法
查看>>
我对JavaScript对象的理解
查看>>
面试宝典之学习能力
查看>>
二叉树的非递归前序遍历
查看>>
JavaScript 单线程不简单.md
查看>>
Spring boot 和 Shiro 做后台跨域访问权限控制遇到的问题
查看>>