`
yangsongjing
  • 浏览: 248515 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

android性能分析工具整理

阅读更多
原文链接:http://www.jianshu.com/p/8b77d394b2a6

Android性能分析工具整理汇总
把做Android开发以来碰到的一些不错的性能分析工具做个整理汇总...

Debug GPU Overdraw
类型:系统自带功能UI渲染检测功能(打开Settings,然后到 Developer Options -> Debug GPU Overdraw 选择 Show overdraw areas,手机系统设置中文的孩纸,自行对照翻译进去哈)
作用:用来检测UI的重绘次数,开发者可以用来优化UI的性能。
使用心得:检测UI性能的利器,对于开发者做UI优化的帮助挺大的。因为大量的重绘容易让app造成卡顿或者直接导致丢帧的现象。开发者熟悉View的绘制原理可以结合对一些布局或者自定义控件做相应的优化。诸如:在ListView或GridView里面的item使用layout_weight设置就会造成多余重绘。其他情况还有很多,不一一例举。至于怎么用,可以自行Google

Profile GPU Rendering
类型:系统自带功能UI渲染检测功能(打开Settings,然后到 Developer Options -> Profile GPU Rendering. 选择 On screen as bars )
作用:用来检测UI绘制帧的速率和耗时,同样开发者可以用来优化UI的性能。
使用心得:跟Debug GPU Overdraw功能类似,但它反应的是UI绘制帧的速率,同样可以用来检测自己的app是否丢帧或者绘制过度,具体操作可以自行Google

Hierarchy Viewer
类型:SDK自带工具(打开Settings,然后到 Developer Options -> Profile GPU Rendering. 选择 On screen as bars )
作用:检测UI渲染用的
使用心得:老牌工具了,Google一下

Memory Monitor、Heap Viewer、Allocation Tracker
类型:AndroidStudio自带的工具
作用:均是内存检测分析的工具
使用心得:不用多说,大家懂的...

Memory Analyzer Tool (MAT)
类型:ADT时代的插件,也有独立的MAT版本
作用:内存详尽分析的神器啊!
使用心得:它是我在ADT下唯一的美好回忆啊,AS现在的工具就差它了,希望快点跟上。为了隆重介绍我的挚爱,果断献上它的官方文档:http://help.eclipse.org/mars/index.jsp

Traceview、Systrace
类型:SDK自带
作用:CPU使用分析的工具
使用心得:排除CPU性能瓶颈的利器,TraceView能让我知道个个函数调用的CPU耗时,以及总CPU耗时等,方便排查优化。Systrace能够让我了解各个AP子模块的使用情况,同样利于瓶颈排查,性能优化工作等,总之,很赞就是了。

Battery Historian
类型:独立开源软件 (Google IO大会上的推荐的工具)
作用:耗电分析工具
使用心得:在耗电分析上Google亲自推的东西自然不用说,Battery Historian 1.0的基本使用在网上挺多,可以自行查看。2.0的功能更加perfect,但是国内资料少,国外的资料算还可以。使用 Battery Historian 需要注意两点,一是它只对5.x及其以上的系统生效,二是搭建环境的时候注意要使用Python2.x的,不要使用Python3.x。因为两个版本的语法变法很大,Python 3.x下Battery Historian会报错。最后,这个是开源项目 https://github.com/google/battery-historian

-----------------------------------分割线-----------------------------------

上面主要都是官方的工具,下面是一些第三方apk工具...

WakeLock Detector
功能简介:对手机的运行状态进行探测记录,能统计那些应用触发了CPU运行消耗cpu,那些应用触发了屏幕点亮。同时还可以对运行时间进行统计,可以查看应用内使用细节。

使用心得:之前做了一款app被用户投诉耗电太快。偶然发现了它,拿做电量损耗检测。同时,它也能够统计其他安装在手机上的app的电量消耗,方便做出对比,向顶级体验的应用看齐。

使用前提:手机需要root,该app需要获取root权限

GSam Battery Monitor
功能简介:检测手机电池电量的消耗去向,能够用折线图进行统计展示。

使用心得:不错的产品,能够计算出你的电量被手机的哪部分功能所消耗的,可以追溯到这部分功能是哪些app在使用,从而定位到手机耗电过快的元凶。

使用前提:手机需要root,该app需要获取root权限

Trepn Profiler
功能简介:高通出品的,杠杠的赞啊!分析检测手机CPU的消耗,而且能够分析特地的分析某个app。

使用心得:用来调试分析自己的app,实时的用折线图展示了app对CPU的消费情况,赞赞赞。

使用前提:手机需要root,该app需要获取root权限,且只支持手机的CPU是高通的。

Root Explorer
功能简介:一款文件浏览器,可以查看app没有加密过的数据库,读取里面的数据,且支持简单的条件查询。

使用心得:在开发的时候,需要确认是否成功把数据插入数据库,有了它就可以直接打开database文件浏览查找了。

使用前提:手机需要root,该app需要获取root权限

-----------------------------------分割线-----------------------------------

除了上面这些apk工具外,最后是一些知名IT公司开发的工具(包含SDK),很好用...

Bugly
揪BUG、揪ANR的SDK。腾讯出品的东东,杠杠的。对发布出去的产品你想准确定位各种闪退的BUG,用它准行。而且bugly的更新频率还挺快的,大公司的效率真是任性(只能说鹅厂越来越会用技术赚钱了~)

官网地址:http://bugly.qq.com/

BugTags
官网说的:测试,从未如此简单!新一代的、专为移动测试而生的缺陷发现及管理工具。个人觉得很不错,同样推荐!

官网地址:https://bugtags.com/

GT
这款神器,可能并不多人知道(我猜的)。腾讯MIG专项测试组开发出来的狂拽酷炫屌炸天的神器,只要多神,不多说了,直接进去官网看吧,我已泪奔(腾讯的技术真心叼)

官网地址:http://gt.tencent.com/index.html

iTest
科大讯飞出品的测试工具,直接安装使用。是一款服务于Android测试人员的专业手机自动化性能监控工具。

官网地址:http://itest.iflytesting.com/?p=1

Emmagee
网易出品的测试工具,和iTest差不多,最大的好处在于,能够对应用的常用性能指标进行检测,并以csv的格式保存方便查看应用的各项参数。测试结果看起来更加直观,还有很重要一点是,它开源!!!!

官网地址:https://github.com/NetEase/Emmagee

待续...
目前大体就这些了,后续有更好的工具也会接着更新,有些工具过时失效了,也会在这里移除...

文章同步归档到此:https://github.com/D-clock/Doc
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    android性能参数监控工具

    本文将围绕“android性能参数监控工具”这一主题,详细讲解相关知识点。 首先,我们要理解Android系统中常见的性能指标。这包括CPU使用率、内存占用、网络流量、帧率(FPS)、电池消耗等。监控这些参数可以帮助我们...

    个人整理的Android下Gif文件播放工具

    本资源"个人整理的Android下Gif文件播放工具"正是针对这一需求,提供了一个有效的解决方案。 在Android系统中,原生SDK并未内置对Gif的支持,因此我们需要借助第三方库或自定义实现来播放Gif。这个压缩包中的`...

    安卓开发工具箱v2.8.5高级版.txt打包整理.zip

    综上所述,这个压缩包“安卓开发工具箱v2.8.5高级版.txt打包整理.zip”是专为Android应用开发者设计的,包含了一个高级版本的工具集合,可能包括调试工具、性能分析工具、代码编辑器增强、依赖管理工具等。...

    本人整理的android开发文档

    - **性能分析工具**:使用Android Studio提供的工具进行性能监控和优化。 - **异步任务处理**:使用AsyncTask或其他线程库来处理耗时操作,避免阻塞UI线程。 **3.2 安全性** - **权限管理**:明确应用程序所需的...

    Android核心机制深入分析

    这份PDF文档由TerryLog的分析整理而成,涵盖了Android的多个关键层面,包括但不限于系统架构、运行时环境、应用程序框架以及系统服务等方面。 首先,Android系统的架构分为四个主要层次:Linux内核层、硬件抽象层...

    收集整理Android开发所需的Android SDK、开发中用到的工具、Android开发教程、Android设计规范,免费的

    开发者会用到各种工具,例如AVD(Android Virtual Device)用于创建和管理虚拟设备进行测试,ADB(Android Debug Bridge)用于设备通信和数据传输,以及Lint工具进行静态代码分析,发现潜在的错误和性能问题。...

    Android的小知识整理

    19. **Android性能优化**:包括UI流畅度、内存优化、电量优化等方面,通过Systrace、Traceview等工具进行性能分析。 20. **Material Design**:遵循Material Design设计指南,提供一致且美观的用户界面。 以上只是...

    Android技术面试资料整理

    ### Android技术面试资料整理 #### 1. Android的四大组件及其作用 - **Activity**:是Android应用程序中负责用户交互的主要部分。一个Activity通常对应着一个屏幕,展示UI元素并与用户进行交互。当一个Activity被...

    android面试题整理

    以上就是“android面试题整理”中可能涵盖的主要知识点,每个话题都值得深入探讨和实践,以确保在面试中能够全面展示自己的专业能力。通过持续学习和项目实践,开发者可以不断提高自己的技术水平,为面试做好充分...

    android TreeView整理版

    本整理版将详细介绍如何在Android中创建和使用TreeView。 一、TreeView的基本概念 1. TreeView是一种数据可视化的方式,它以树形结构展示数据,每个节点(Node)可以有子节点(Child Node),节点间存在层级关系。...

    Android最新面试题整理,有道云笔记格式

    5. **内存管理**:理解如何避免内存泄漏,熟悉Android内存分析工具如MAT或LeakCanary,以及如何优化内存使用。 6. **性能优化**:包括UI流畅性、后台任务管理、资源优化、代码效率提升等方面。理解ANR(Application...

    Android 开发技巧新整理

    - **CPU分析**:通过Traceview或Systrace工具分析应用性能瓶颈,优化CPU占用。 - **UI流畅性**:确保60fps的帧率,使用 Choreographer 和 RenderThread 提升动画效果。 - **电池优化**:减少后台活动,合理使用...

    Android高手进阶整理

    首先,Android性能优化是每个高级开发者必须掌握的关键技能。这可能涉及到减少布局层级、避免过度绘制、使用AsyncTask和IntentService进行后台操作、运用ProGuard进行代码混淆以提高应用的安全性和效率。文章可能会...

    Android开发经验整理

    本文将基于“Android开发经验整理”这一主题,详细解析其中包含的关键知识点,旨在帮助新手开发者快速上手,避免常见错误,提升开发效率。 1. **环境配置**:Android开发首先需要安装Android Studio,这是Google...

    Android技术面试整理附有详细答案

    NDK(Native Development Kit)是Android提供的一套工具集,允许开发者使用C或C++语言编写应用程序的原生代码部分,用于实现高性能或直接访问硬件的功能。 以上是Android技术面试中常见的知识点总结,涵盖了四大...

    Android面试题整理

    - **内存优化**:避免内存泄漏,理解Activity栈和内存分析工具的使用。 - **绘制优化**:减少无效绘制,利用硬件加速,避免过度绘制。 - **后台服务优化**:合理使用Service,避免ANR(应用无响应)。 - **数据...

    android material design 风格项目整理.zip

    因此,我们整理了常用的Android开发工具集,包括开发工具、测试工具、性能优化工具等。这些工具都是经过我们精心筛选和测试的,能够帮助开发者们更加高效地进行Android开发工作。 总的来说,这份Android项目资源包...

    Android_Log抓取工具

    本文将详细介绍一款名为"Android_Log抓取工具"的应用,它为开发者提供了一种便捷的方式来收集和分析Android设备上的日志信息。 首先,Android日志系统分为多个级别,包括VERBOSE、DEBUG、INFO、WARN、ERROR和ASSERT...

    Android开发(个人整理01) 线程Demo源码

    以上内容是根据"Android开发(个人整理01) 线程Demo源码"所涉及的Android线程开发知识,这些知识点对于理解和优化Android应用程序的性能至关重要。在实际项目中,开发者应熟练掌握并灵活运用这些概念和技巧。

Global site tag (gtag.js) - Google Analytics