Android应用启动速度分析和优化方法

来源:互联网 发布:域名备案微信公众号 编辑:程序博客网 时间:2024/06/03 15:56

一、应用启动速度对标

机型/测试名称(单位:s)      主流机型1      主流机型2   主流机型3

(冷)Helloworld(HavePreview) 0.331          0.332        0.333

(冷)Helloworld(NoPreview)   0.331           0.332        0.333

(热)Helloworld(HavePreview) 0.331          0.332        0.333

(热)Helloworld(NoPreview)   0.331           0.332        0.333

图库(同上)

照相机(同上)

 

二、影响应用启动速度因素

1、是否启动窗口预览

2、是否缓存应用进程,第2次会比第1次快

3、是否部分UI耗时过长

避免UI主线程做耗时的IO操作。可以通过打开

“系统设置->开发模式->打开StrictMode模式查看(如过滤大于300ms的界面)”

4、是否GPU过度绘制

通过打开“系统设置->开发模式->Debug GPU overdraw",颜色有蓝色、绿色、淡红色、红色,越到后面越过度绘制

Hierarchy Viewer分析

可以打开Hierarchy Viewer查看View的树形结构,合并部分节点,缩短树形深度

用TraceView分析

traceView是一个Dalvik分析器,该分析器记录了应用每个函数的执行时间。

用Systrace分析

 

三、应用启动阶段耗时分析(对比原生和自己的apk

进程    阶段            耗时(ms)   时间点(ms) 日志和主要代码

System1 点屏事件       -75      xxxxx            xxxxxxxxxxxxx

Launcher响应事件       -70

System2 响应启动应用   -55

System3 开始创建预览窗口-41

System4 完成创建预览窗口-8

System5 原生日志记录开始 0

System6 创建新的进程    0

应用    应用入口         9

System5 切换到预览窗口  37

应用    加载Application 56

应用    加载Activity    70

应用    开始onCreate    85

应用    结束onCreate    142

应用    开始onStart     143

应用    结束onStart     143

应用    开始onResume    144

应用    结束onResume    145

Launcher原生显示耗时    250

0 0
原创粉丝点击