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使用全面解析
三、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 应用开发调试利器——开发助手,数十倍效率提升
开发助手主界面
【有奖讨论】那些年坑过你的编程问题?参与讨论有机会获得 Cherry 黑轴机械键盘 点击查看详情
相关阅读
程序员要拥抱变化,聊聊Android即将支持的Java
Android开发入门的正确姿势
Gradle构建-从Eclipse到Studio介绍篇
此文已由作者授权腾讯云技术社区发布,转载请注明文章出处
原文链接:https://www.qcloud.com/community/article/439099
获取更多腾讯海量技术实践干货,欢迎大家前往腾讯云技术社区
Android 开发—— 小工具,大效率的更多相关文章
- Android 开发小工具之:Tools 属性 (转)
Android 开发小工具之:Tools 属性 http://blog.chengyunfeng.com/?p=755#ixzz4apLZhfmi 今天来介绍一些 Android 开发过程中比较有用但 ...
- android 开发小工具收集
http://blog.csdn.net/tikitoo/article/details/51089422
- Android开发常用工具汇总
Android开发常用工具汇总,本文章不断更新完善 一.数据库小工具Sqlite Developer SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的, ...
- android 桌面小工具(Widget)开发教程
刚学做了哥Widget,感觉不错哦,先来秀下效果(用朋友手机截的图) 这个Widget会每隔5秒钟自动切换内容和图片,图片最好使用小图,大图会导致你手机桌面(UI)线程卡顿 教程开始: 1.首先创建一 ...
- 使用Visual Studio进行 Android开发的十大理由
[原文发表地址]Top 10 reasons to use Visual Studio for C++ Android Development! Visual Studio: C++跨平台的移动解决方 ...
- Android 性能测试小工具 Emmagee
Emmagee 是一个性能测试小工具 用来监控指定被测应用在使用过程中占用机器的CPU, 内存,流量资源的性能小工具 Emmagee 介绍 Emmagee是网易杭州研究院QA团队开发的一个简单易上手的 ...
- [Android Memory] Android性能测试小工具Emmagee
转载:http://blog.csdn.net/anlegor/article/details/22895993 Emmagee是网易杭州QA团队开发的用于测试指定android应用性能的小工具.该工 ...
- Android 开发常用工具合集
在 Android 开发中经常使用到的小功能,用于记录开发的那些事^_^ 1. 获取 release 和 debug 版本的 SHA1 public static String getSHA1(Con ...
- 2016 Web开发资源工具大搜罗
来源于:https://zhuanlan.zhihu.com/p/22730771 作者:余博伦链接:https://zhuanlan.zhihu.com/p/22730771来源:知乎著作权归作者所 ...
随机推荐
- 读书笔记 effective c++ Item 41 理解隐式接口和编译期多态
1. 显示接口和运行时多态 面向对象编程的世界围绕着显式接口和运行时多态.举个例子,考虑下面的类(无意义的类), class Widget { public: Widget(); virtual ~W ...
- MYSQL优化_MYSQL分区技术[转载]
MySQL分区技术是用来减轻海量数据带来的负担,解决数据库性能下降问题的一种方式,其他的方式还有建立索引,大表拆小表等等.MySQL分区按照分区的参考方式来分有RANGE分区.LIST分区.HASH分 ...
- 【Egret】Wing3发布移动APP功能,打包APK流程以及会遇到的问题
流程:1.安装好wing 3,然后 插件--Egret项目工具--发布移动APP--Build android native project 2.配置发布环境: Android 1.egret eng ...
- 【转】JS判断SWF,JPG加载完毕、兼容(Activex,plugIn)所有浏览器
JS判断SWF,JPG加载完毕.兼容(Activex,plugIn)所有浏览器 这里主要说下监听SWF的加载. 网上流传已久的监听方法,只能在IE(Activex插件下)下实现.在使用plugin的浏 ...
- POPTEST学员就业面试题目!!!!!
POPTEST学员就业面试题目!!!!! poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.(欢迎大家咨询软件测试工程师就业培训 ...
- 解析新浪微博表情包的一套js代码
本文出自本人原创,转载请注明出处 /** * Created by Lemon on 2017/4/6. *//** * return 解析后的值 * analysis 参数 * obj.value: ...
- PixiJS - 基于 WebGL 的超快 HTML5 2D 渲染引擎
Pixi.js 是一个开源的HTML5 2D 渲染引擎,使用 WebGL 实现,不支持的浏览器会自动降低到 Canvas 实现.PixiJS 的目标是提供一个快速且轻量级的2D库,并能兼容所有设备.此 ...
- Oracle 一些基本命令
--创建表空间 --DATAFILE: 表空间数据文件存放路径 --SIZE: 起初设置为200M --空间名称MOF_TEMP与数据文件名称不要求相同,可随意命名. --AUTOEXTEND ON/ ...
- ios url网址相关问题解说
问题1:ios网址中存在汉字的情况,需要GB_18030_2000编码方法如下: // 汉字转编码 + (NSString *)changeChineseWithEncodingGB_18030_20 ...
- nodejs将JSON字符串转化为JSON对象
如何将JSON字符串转化为JSON对象? JSON.parse(str) JSON是javascript的一个内置对象,提供了转换JSON对象与字符串互相转换的方法: 问题来了,道理我都懂 ...