启动时间测试

app启动时主要流程

  • application OnCreate
    加载第三方的sdk
  • activity OnCreate
    加载自身的逻辑
    发送远程数据请求 xxx.json
    渲染界面List

响应时间

斜体样式

  • app启动:首次安装启动、冷启动、暖启动、热启动、首屏启动
    首次安装启动:一个app首次启动的时间是比较长的,因为首次启动过程中,会耗费较多的时间初始化,补丁下载,缓存数据,有很多数据并没有得到缓存或者预热,系统会通过远程服务器加载一些资源放到本地来,下一次再次启动时,本地已经有提前加载好的内容了,比如广告、用户的数据,这时不用再进行远程读取,这时会加快启动速度,所以首次启动比较慢,这个慢,谷歌有个标准的。
    冷启动:跟首次安装启动差不多,但不是首次安装,是当进程不存在的时候,从进程创建开始叫冷启动。(冷启动一般不超过5s)
    暖启动:有一部分资源已经存在,进程存在,activity被销毁,这时启动叫暖启动(不超过2s)
    热启动:大部分资源都在,只是界面上的切换,后台切前台,用户进程和数据都没有丢失,这是启动叫热启动。(不超过1.5s)
    首屏启动:第一屏加载完整
    冷启动的时间比较重要,一般也是测试这类

测试方法

logcat中的性能数据
实现安装包名package=com.snda.wifilocating
测首次启动数据前,先用命令清理缓存数据: adb shell pm clear $package

遇到了Security exception: PID 28341 does not have permission android.permission.CLEAR_APP_USER_DATA to clear data of package com.snda.wifilocating 错误
在这里插入图片描述
解决办法:打开开发者选项中的:USB调试(安全设置),OEM解锁

在这里插入图片描述
杀掉进程:adb shell am force-stop $package
启动app: adb shell am start -S -W $package/.com.lantern.launcher.ui.MainActivity
在这里插入图片描述
这表示到第一个activity完整的加载出来了
thistime
totaltime
waittime

发布了4 篇原创文章 · 获赞 2 · 访问量 207

猜你喜欢

转载自blog.csdn.net/qq_22753843/article/details/104288290