分析启动耗时 android,Android app启动耗时分析

首先编译你的程序,打开Android Studio里面的Android Monitor,找到下图的按钮

<img src="//bbsmax.ikafan.com/static/L3Byb3h5L2h0dHBzL3BpYzIuemhpbWcuY29tL3YyLTA4Zjk1ZmUxMjM5ODgwNTkzMDU5YjE3YzFlMGU5NjcxX2IucG5n.jpg" data-rawwidth="594" data-rawheight="330" class="origin_image zh-lightbox-thumb" width="594" data-original="https://pic2.zhimg.com/v2-08f95fe1239880593059b17c1e0e9671_r.png">

366809e1fe2b8b658fec1f2ef4021254.png

然后在app里面干你想trace的部分,开个页面什么的

然后点同样的按钮完成tracing,接下来Android Studio会自动生成一个图表,比DDMS里面的版本好用太多!!

这不失为一种性能分析的不错方法;现在我们说到的是app启动耗时,app启动做了什么事情?

App启动入口类 Application(AndroidManifest.xml中可自定义),然后从配置了

58d90d8cd76567e379f2c23883923b17.png

的Activity开始启动;于是我们就可以简单的依据此顺序来进行如下操作;

在启动开始时,Debug.startMethodTracing("/sdcard/dmtrace.trace");

在启动完成时,Debug.stopMethodTracing();

在我的MyApplication下

79253e8ec989dd29b24bed23d3a239bc.png

在我的主Activity的OnResume方法中

621720f0e14eeb2cff3d263e3f5b07ac.png

那么随着程序的运行,在/sdcard/文件夹下会自动创建一个dmtrace.trace的文件;这个文件可以帮助我们很好的分析,这个启动的时间段内,做了什么事情.

把这个dmtrace.trace拖到Android Studio中,会看到这样的一个界面

1509fe362cb8fff1527c6ef57b683ad9.png

鼠标点击到这个时间条上会出现更详细的耗时信息

1d3d333a46b860e0565975ce181a6abf.png

可以看到,该方法实际耗时1.5s;而我看到的都是mainThread,也就是主线程,UI线程里进行的操作;难怪这么卡...

到项目中去看CacheManager里这个isCache确实是个耗时的操作,我们就把它放到子线程中进行,一下节省不少时间...

在下面的表中也可以很明显的看到这确实占据了启动时间的一大部分

021b8a1aa6ea7dbb4d393fa6258f5f8e.png

具体地,把.trace文件拖入到DDMS工具可以看到更加详细清晰的效果

2c4a0241972f7fb49031b61a95070248.png

具体地,每一行的耗时不去细说,来源很多...

总结

TraceView是一个非常强大的性能分析工具,因为Android 官网对这个工具的使用介绍文档很少,没有讲到底怎么使用。

最近我在做app启动耗时方面的性能分析,就慢慢琢磨了这么工具的使用,发现非常强大,写下来总结一下。

Android的性能分析工具还有很多,比如:

Eclipse Memory Analyzer Tool 来分析Android app的内存使用

Dump UI Hierarchy for UI Atomator,分析UI层级

systrace

其他

<img src="https://pic4.zhimg.com/e70ba3cdcd41037d42655627c4ab13ef_b.png" data-rawwidth="1435" data-rawheight="701" class="origin_image zh-lightbox-thumb" width="1435" data-original="https://pic4.zhimg.com/e70ba3cdcd41037d42655627c4ab13ef_r.png">

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/503519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android+内存清理+代码,最新版本:Android一键式清理,内存清理功能的实现

Android一键式清理,内存清理功能的实山清理大师等均提供一键式清理和一键加速等功能。实际上,它们杀死了一些后台进程以达到释放内存的目的。基本思想是列出所有正在运行的进程,检查它们的重要值(RunningAppProcessInfo.importance&#xff0…

cups共享linux打印机_linux入门-映射网络驱动器

linux入门-映射网络驱动器在日常中,我们不会时时刻刻远程着linux服务器,那么有没有办法可以让我们在window电脑上映射linux的磁盘呢?这是可以实现的,这里我们就要介绍samba了。sambaSamba是在Linux和UNIX系统上实现SMB协议的一个免…

html如何将设置文本效果,css如何对文本进行修饰

color属性:设置文本文字颜色。用法如下:color:颜色值;color属性可以设置的合法颜色值包括:16进制颜色值(例:#ffffff),rgb颜色值【例:rgb(0,0,0)】,rgba颜色值【例:rgb(0,…

HTML与cgi post传递与接收,CGI实例--表单GET与POST示例

CGI概述CGI(Common Gateway Interface: 公用网关接口)规定了Web服务器调用其他可执行程序(CGI程 序)的接口协议标准。Web服务器通过调用CGI程序实现和Web浏览器的交互, 也就是CGI程序通过读标准输入,接受Web浏览器发送给Web服务器的信息, 进行处理, 将响应结果再通过…

html鼠标滑轮换图片,JavaScript实现鼠标滚轮控制页面图片切换

鼠标上的滚轮是一个不错的东东,为什么这么说,因为它能帮助我们快速的浏览网页,快速的进行长篇文章的阅读。对于web前端的我们来说又怎么能不注重这个鼠标滚轮呢,那么它能如何让用户更好的浏览网页呢?本文主要介绍JavaScript实现鼠…

电脑视频html5全屏掉帧,Windows 10使用自带的电影和电视全屏看视频时掉帧(画面卡顿)...

Windows 10自带的“电影和电视”应用能应付一些常见的视频格式,还能播放360度全景视频,对部分人来说用它就够了,不需要额外安装其它播放视频的应用。在使用电影和电视全屏播放视频的过程中,部分人可能会出现掉帧情况,画…

微型计算机的alu部件是包含在,微型计算机的ALU部件是什么?

计算机中执行各种算术和逻辑运算操作的部件。运算器的基本操作包括加、减、乘、除四则运算,与、或、非、异或等逻辑操作,以及移位、比较和传送等操作,亦称算术逻辑部件(ALU)。计算机运行时,运算器的操作和操作种类由控制器决定。运…

工具系列:TensorFlow决策森林_(5)使用文本和神经网络特征

文章目录 设置使用原始文本作为特征使用预训练的文本嵌入同时训练决策树和神经网络构建模型训练和评估模型 欢迎来到 TensorFlow决策森林( TF-DF)的 中级教程。 在本文中,您将学习有关 TF-DF的一些更高级的功能,包括如何处理自…

超级计算机游戏电脑,Salad邀请PC玩家参与全球最大分布式超级计算机的构建

(来自:Salad 官网)据悉,自 2018 年成立以来,Salad 已经在 25 万名 PC 玩家的帮助下,利用闲置的硬件算力、以及开源的桌面应用程序,来帮助验证区块链交易。作为奖励,Salad 用户能够分享计算资源,…

更换锁定计算机图片,电脑锁屏图片怎么设置

电脑锁屏图片怎么设置觉得电脑锁屏的图片单调没有新意?其实大家想知道电脑锁屏图片应该怎么设置吗?下面是小编推荐给大家的电脑锁屏图片怎么设置,希望大家有所收获。同时按下窗口键winR,调出运行对话框,如下图所示运行…

六年级计算机应用计划,2017六年级信息技术下册教学计划

2017六年级信息技术下册教学计划制订教学计划必须按学生的特点制订,不能仿制照搬的计划,只有自己去试着做,摸索出自己的完整方法,才是最有用的。下面应届毕业生考试网小编为大家提供了2017六年级信息技术下册教学计划,…

计算机网络与通信思维导图,用思维导图描述5G场景

随着全球首个5G火车站在上海虹桥火车站启动建设,5G时代离我们越来越近。去年底,工业和信息化部向三大运营商发送了5G系统中低频段试验频率使用许可,5G设备将开始试商用。5G毕竟是新技术,小编今天用思维导图给大家讲解一下5G场景&a…

计算机学院五名学生开发手语app,大学生团队研发成功“聋人自然手语翻译器”APP...

把语音转换成文字,再将文字翻译成手语,在第25个“全国助残日”到来之际,江苏科技大学的一群平均年龄不到22岁的年轻创业者们,研发出了一款“聋人自然手语翻译器”,为普通人与聋哑群体搭建沟通的桥梁。拿起手机&#xf…

电大计算机网考上机操作题,电大计算机上机考试模拟题及答案 (1)

模拟试题模拟试题一:第001题:在Windows中添加”传真服务”.第002题:设置Internet Explorer,对所有官方微软网站不进行安全认证.操作步骤第003题:设置Outlook Express,新邮件.新闻邮件下载5天后即被删除, 当浪费的空间达到40%时压缩邮件,并将存储在C盘DDKS根目录下。…

在职人员计算机网络管理总结,关于学校网络管理员个人工作总结

关于学校网络管理员个人工作总结主要工作职责1.按照规定流程开通校园网用户,做好审核与登记工作。2.接听办公室报修电话,负责校园网网络故障报修用户信息登记。3.凭证参加网络故障现场维护(自网络故障报修日起两个工作日内)。4.统计当天网络故障报修数据…

西安电子科技大学研究生计算机专业王宇平教授学生就业岗位,西安电子科技大学计算机学院导师信息情况...

研究生考试招生以下是所有导师的详细资料姓名 权义宁 杨世勇 刘志镜 冯大政 王宇平 王宇平 马建峰职称 副教授 副教授 教授 教授 教授 教授 教授导师类别 硕士生导师 硕士生导师 博士生导师 博士生导师 博士生导师 硕士生导师 博士生导师电子信箱ynquanhttp://doc.xuehai.netsh…

文件夹 计算机无法使用,电脑文件夹提示被使用无法删除怎么办

相信有朋友碰到过这样的问题,电脑上新建一个临时文件夹在使用完后进行删除,或者卸载某一个程序,在卸载完想手动删除残留的文件夹时,出现了下图所示的提示:这个时候我们一般都会在任务管理器中查找是哪个进程占用了&…

计算机软件著作权特征,计算机软件著作权的法律特征是什么

计算机软件著作权的法律特征是什么一、权利内容的法定性法定性有狭义、广义之分。作为一个法律概念的“权利”,都是由国家的法律所规定的,不存在任何法律规定之外的权利,譬如没有所谓“天赋”的权利。从这个意义上讲,凡法律上的权…

mac笔记本怎么外接显示屏_win to go的安装与Macbook pro外接eGPU开启

更新:wintogo中eGPU的驱动(针对15.6 MacBook pro,且只针对于mantiz这款显卡坞) 在不插入显卡的情况下,安装 win to go将 Windows 10升级 ⾄预览版 ,并完成所有Windows 10 更新,之后禁用windows更…

中职计算机教学工作随笔,教学随笔(精选15篇)

教学随笔(精选15篇)教学是教师的教和学生的学所组成的一种人类特有的人才培养活动。下面和小编一起来看教育教学随笔(精选15篇),希望有所帮助!教学随笔 篇1今天是我的早读,到学校了,小朋友还没有静下来读书。我挥手让小朋友们静下…