文档章节

值得推荐的Android应用性能检测工具列表(转)

年少爱追梦
 年少爱追梦
发布于 2016/08/09 09:44
字数 1462
阅读 32
收藏 2

值得推荐的Android应用性能检测工具列表

张明云 · 8 个月前

最近这段时间一直在做android应用的性能优化,一个应用性能的好坏并不能依靠我们的主观意识去评判,必须要看数据说话,因此必须要了解和学会使用各种性能测试工具才知道问题出在哪以及具体的优化方向。下面对我对性能优化的理解以及在性能优化过程中使用到的一些工具作个介绍。

零 性能指标

Android的应用性能的指标主要有:

  • 布局复杂度:布局复杂会导致布局需要更长的时间,从而导致进入应用慢、页面切换慢;
  • 耗电量:耗电量大会导致机器发热、缩短机器的有效使用时长;
  • 内存:内存消耗大会导致频繁GC,GC时会暂停其它工作,导致页面卡顿;内存泄露会导致剩余可用内存越来越小;内存不足会导致应用异常;
  • 网络:频繁的网络访问会导致耗电和影响应用的性能;网络交互数据大小会影响网络传输的效率;
  • 程序执行效率:糟糕的代码会严重影响程序的运行效率,UI线程过多的任务会阻塞应用的正常运行,长时间持有某个对象会导致潜在的内存泄露,频繁的IO操作、网络操作而不用缓存会严重影响程序的运行效率。

一 Android官方性能优化工具介绍

android针对上面这些会影响到应用性能的情况提供了一些列的工具:

1 布局复杂度:

  • hierarchyviewer:检测布局复杂度,各视图的布局耗时情况:

  • Android开发者模式—GPU过渡绘制:

2 耗电量:Android开发者模式中的电量统计;

3 内存:

  • 应用运行时内存使用情况查看:Android Studio—Memory/CPU/GPU;

  • 内存泄露检测工具:DDMS—MAT;

4 网络:Android Studio—NetWork;

5 程序执行效率:

  • 静态代码检查工具:Android studio—Analyze—Inspect Code.../Code cleanup... ,用于检测代码中潜在的问题、存在效率问题的代码段并提供改善方案;
  • DDMS—TraceView,用于查找程序运行时具体耗时在哪;
  • StrictMode:用于查找程序运行时具体耗时在哪,需要集成到代码中;
  • Andorid开发者模式—GPU呈现模式分析。

6 程序稳定性:monkey,通过monkey对程序在提交测试前做自测,可以检测出明显的导致程序不稳定的问题,执行monkey只需要一行命令,提交测试前跑一次可以避免应用刚提交就被打回的问题。

说明:

二 第三方性能优化工具介绍

除了android官方提供的一系列性能检测工具,还有很多优秀的第三方性能检测工具使用起来更方便,比如对内存泄露的检测,使用leakcanry比MAT更人性化,能够快速查到具体是哪存在内存泄露。

  • leakcanary:square/leakcanary · GitHub,通过集成到程序中的方式,在程序运行时检测应用中存在的内存泄露,并在页面中显示,在应用中集成leancanry后,程序运行时会存在卡顿的情况,这个是正常的,因为leancanry就是通过gc操作来检测内存泄露的,gc会知道应用卡顿,说明文档:LeakCanary 中文使用说明LeakCanary: 让内存泄露无所遁形
  • GT:GT Home,GT是腾讯开发的一款APP的随身调测平台,利用GT,可以对CPU、内存、流量、点亮、帧率/流畅度进行测试,还可以查看开发日志、crash日志、抓取网络数据包、APP内部参数调试、真机代码耗时统计等等,需要说明的是,应用需要集成GT的sdk后,GT这个apk才能在应用运行时对各个性能进行检测。
  • iTest:iTest,业内首创的Android自动化性能监控工具,它能够记录特定应用的性能消耗情况,包括cpu、内存、流量、电量等信息,支持浮窗实时查看应用的具体信息,iTest不需要集成sdk到应用中,在itest中选中需要测试的应用即可进行测试;
  • Emmagee:Emmagee下载NetEase/Emmagee · GitHub,网易开发的性能检测工具,Emmage和iTest一样,不需要在应用中集成sdk,能够对应用的常用性能指标进行检测,并以csv的格式保存方便查看应用的各项参数;
  • APT:Tencent/apt | CODE,腾讯出的,暂时还没使用过,无法评价。
  • FPSService:百度一位开发者写的帧率测试工具,需要集成到应用中才可查看:

三 应用性能优化资料推荐

本文转载自:https://zhuanlan.zhihu.com/p/20416881

年少爱追梦
粉丝 35
博文 190
码字总数 119538
作品 0
杭州
程序员
私信 提问
【转】值得推荐的android开发框架简介

第一个:Afinal 项目地址:https://github.com/yangfuhai/afinal 功能:一个android的ioc,orm框架,内置了四大模块功 能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivi...

kymjs张涛
2014/08/05
2.8K
0
如何快速开发分享功能

有时候开发者想给我们的应用添加一个功能分享又能创建活动的功能来推广自己的应用,但是开发类似的功能对于开发者的时间成本来说太大了,不如去集成一个有这样功能的组件,如友推SDK积分组件 工...

bidaround
2014/06/17
214
1
金秋十月书讯 | 超出你的预期

十月,丰收的季节,这个月,人民邮电出版社异步社区的重磅新书非常集中,值得本月收藏。更多精品图书可以访问社区:http://www.epubit.com.cn/ 本期好书太多啦,小编都不知道先推荐哪一本了。...

生气的散人
2015/10/15
868
0
OSChina 技术周刊第十九期 —— 开源看板管理系统 LibreBoard

每周技术抢先看,总有你想要的! 移动开发 【软件】移动后端服务平台 Uncode 【博客】Android四大组件之一:BroadcastReceiver 【博客】仿QQ列表滑动弹出按钮、长按提示、刷新列表 服务端开发...

OSC编辑部
2015/01/25
5.7K
6
Android 性能优化之工具和优化点总结

Android性能优化学习 最近公司主抓性能优化工作,借此春风也学习到了许多Android性能优化方面的知识。由于组内队友的给力,优化的成果也是比较喜人。同时也学习和实践了不少知识,特此记录。...

记录自己的点点滴滴
2018/07/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

手写RPC框架指北另送贴心注释代码一套

Angular8正式发布了,Java13再过几个月也要发布了,技术迭代这么快,框架的复杂度越来越大,但是原理是基本不变的。所以沉下心看清代码本质很重要,这次给大家带来的是手写RPC框架。 完整代码...

全菜工程师小辉
18分钟前
3
0
【Java】开发收货

简介 谨以此篇,记载开发过程中的一些tips。 编译器 【Shift + F6】可实现变量的联动修改。

Areya
34分钟前
5
0
DOM官方定义

DOM Document Object Model 文档对象模型 DOM的官方定义:W3C的DOM,可以使程序或者脚本(JS或AS\JScript),动态的访问或者操作文档的内容、结构、样式。 DOM只是一个标准,操作网页的标准。...

前端老手
40分钟前
6
0
IT兄弟连 HTML5教程 HTML5的学习线路图 第一阶段学习网页制作

学习HTML5技术可并不是简单学会几个新增的标签而已,HTML5现在可以说是前端所有技术的代名词。需要学习的语言和工具不仅多,对于刚接触他们的新人会感觉很乱。另外,前端开发也会细分很多个开...

老码农的一亩三分地
42分钟前
6
0
可见性有序性,Happens-before来搞定

写在前面 上一篇文章并发 Bug 之源有三,请睁大眼睛看清它们 谈到了可见性/原子性/有序性三个问题,这些问题通常违背我们的直觉和思考模式,也就导致了很多并发 Bug 为了解决 CPU,内存,IO ...

tan日拱一兵
57分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部