Android App性能测试----应用冷/热启动时间
应用冷启动和热启动从用户感知层面的定义
冷启动时间:冷启动表示用户首次打开应用,这时进程还没创建,包含了Application创建的过程。冷启动时间指从第一次用户点击Launcher中的应用图标开始,到首页内容全部展示出来的时间。
热启动时间:热启动表示用户在首页按了返回,首页Activity已经Destroy,不过Application仍在内存中存在,对应的进程并没有被杀掉,不包含Application创建过程。热启动时间指在Application仍然存在的情况下,从用户点击桌面图标,到首页内容全部展示出来的时间。
第一种:使用screenrecord进行屏幕录制
1)输入命令adb shell screenrecord录制视频。
2)点击收集图标,app完全启动后,使用ctrl+c结束视频录制。
3)使用命令adb pull sdcard/lanch.mp4 ./,导出视频
4)导出视频到电脑,使用可以按帧播放的视频软件打开(mac上quicktime就可以,win下可以用Potplayer),并按帧播放。
@echo.
@echo off
adb shell mkdir /sdcard/screenrecord/
@echo. -------开始录屏---------------------------
@echo. Ctrl+C停止录制,选择 N 并进入下一步
FOR /F "tokens=*" %%A IN ('TIME/T') DO SET Now=%%A
adb shell screenrecord /sdcard/screenrecord/screenrecord_%Now:~0,2%%Now:~3,2%.mp4
adb pull sdcard/screenrecord/ .
adb shell rm -rf /sdcard/screenrecord
@echo. -------视频文件已导出----------------------
第二种:通过 adb logcat 查看APP 启动时间
2.1针对冷启动
在Log中,主要是通过分析logcat中app 在 ActivityManager: Displayed的时间值 ,此时间值包含以下时间综合信息:
- Launch 进程
- 初始化对象
- 创建并初始化Activity
- 填充布局
- 第一次绘制app 内容
比如下图:音乐程序启动时间 3.365s

或者在cmd窗口输入:adb shell "logcat | grep Displayed"

智能推荐
Android 冷启动 热启动 测试
Android 冷启动 热启动 测试 热启动呢:就是你已经打开过APP但是实际上面你使用home键等。就是还存在后台的应用。再次打开的时候算是属于热启动了。 冷启动呢:属于你第一...
Android - 简单的查看APP启动时间
Android - 简单的查看APP启动时间 标签: androidapp启动时间 2017-05-03 10:41 175人阅读 评论(0) 收藏 举报 分类: 4. 移动端(154) --> 4.2 android 高级(36) 版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)...
Android - 简单的查看APP启动时间
先看看 测量的时机,下图很清晰的说明了APP启动测量时间: 具体见 : https://developer.android.com/topic/performance/launch-time.html Displayed Time reportFullyDrawn() 1. Displayed Time 启动加载代码、初始化工作,从启动进程到第一次绘制完成所消耗的时间 直接看 Log 进行查看,可...
Android 启动时间优化
Android Boot timing properity Init records some boot timing information in system properties. `ro.boottime.init` > Time after boot in ns (via the CLOCK\_BOOTTIME clock) at which the first stage of ...
Android 冷启动 热启动
一、应用的启动 启动方式 通常来说,在安卓中应用的启动方式分为两种:冷启动和热启动。 1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。 2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进...
猜你喜欢
web安全简易规范123
web安全,大公司往往有专门的安全开发流程去保证,有专门的安全团队去维护,而对于中小网络公司,本身体量小,开发同时兼带运维工作,时间精力有限,但是,同样需要做一些力所能及的必要的事情。有时候,安全威胁并不是因为你的防盗窗被人撬开了,而是你晚上睡觉的时候忘了关门,而关上门对开发来说也许只是举手之劳。 1、不要用root,确定使用的中间件和框架是否默认打开了后门 我们总会在线上使用部署一些中间件、开源...
html5拖放--15行js代码实现两个div内容互换
本文首发于我的个人博客:http://cherryblog.site/ ,欢迎大家前去参观 本文项目地址,sortable插件地址:https://github.com/sunshine940326/sortable demo地址:https://github.com/sunshine940326/drag 在写我们后台的管理程序中需要有一个拖放的功能,然后我们有一个这样的功能,实现11个固定且大...
git切换分支报错,不管什么标题名字,都报非法字符,所以就不起名字了。
切换分支的时候,报了标题这么个错误,error: ”xxx did not match any file(s) known to git. 看见不能切换分支,我首先 git status 查看了一下当前状态,如下图 然后,就会发现,其实我的这个错误非常明显,就是在我的 beat 分支下有文件修改,所以切换不了。ok,解决方法: 1. 如果修改的这些文件没什么用,完全可以删除。(我这儿的...
Oracle分析函数之LEAD和LAG实际应用
Oracle分析函数之LEAD和LAG实际应用 在前几天的工作中按照客户的需求,需要对客户信息进行数据分析,即某人存在多个状态的账号,将客户信息账号状态分析出结果,和客户确认汇报,根据保留规则,保留唯一账号,以保证程序可用性。起初,根据聚合函数进行查询分析,需要写一大串的SQL,即不美观又复杂,很容易产生错误。后续想到Oracle分析函数中的lead和lag,SQL简洁了很多且容易产生报告数据。 ...
