百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

专项测试-App性能分析

liuian 2025-02-13 13:06 46 浏览


app性能

Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器)之一 [1] 。一个app的启动由多个Activity 组成。

1、调起app,创建白窗口,启动进程 (启动前)

2、Application onCreate先创建Object,再创建主线程(main thread)用于加载主要的Activity

主要流程

Application OnCreate

加载第三方的sdk

Activity OnCreate

加载自身的逻辑

发送远程数据请求xxx.json

渲染界面List

app启动性能指标

冷启动

简单讲app冷启动可以分为两个阶段

第一阶段

1、加载并启动app
2、启动后立即显示一个空白的启动窗口
3、创建app进程

第二阶段

1、创建app对象
2、启动主进程
3、创建MainActivity
4、渲染视图
5、执行onLayout
6、执行onDraw

暖启动

启动时由于app的进程仍然存在,只执行冷启动第二阶段流程

第二阶段

1、创建app对象
2、启动主进程
3、创建MainActivity
4、渲染视图
5、执行onLayout
6、执行onDraw

热启动

系统将activity放到前台。如果应用程序的所有activity存在内存中,则应用程序可以避免重复对象初始化、渲染、绘制操作。

若内存不足导致对象被回收,则需要在热启动时重建对象,此时与冷启动时将界面显示到手机屏幕上一致

首屏启动

app启动性能分析流程

  • adb logcat
  • 录屏+视频拆帧 (1s拆成10帧数)
  • uiautomator等自动化工具200ms巡检界面变化traceview
  • 硬埋点

使用adb logcat

  • package=com.xeqiu.android
  • 清理缓存数据:adb shell pm clear $package
  • 停止进程: adb shell am force-stop $package
  • 启动app: adb shell am start -S-W $package/.view.WelcomeActivity Alias
  • 获取数据:adb logcat | grep -i displayed

adb logcat 结果

  • startTime:记录刚准备调用startActivity AndWait()的时间点;
  • endTime:记录startActivity AndWait()函数调用返回的时间点
  • WaitTime: startActivity AndW ait()调用耗时
  • WaitTime = endTime - startTime

使用ffmpeg拆针

  • adb shell am force stop $package 环境清理
  • adb shell screenrecord --bugreport --time-limit 30 /data/local/tmp/xueqiu.mp4 &
  • adb shell am start -S -W $package/.view.WelcomeActivityAlias
  • wait
  • adb pull /data/local/tmp/xueqiu.mp4 录制启动视频
  • ffmpeg -i xueqiu.mp4 xueqiu.gif 对视频进行拆帧
  • ffmpeg -i xueqiu.mp4 -r 10 frames_ %03d.jpg 格式化为图片
  • 对图片进行分析得出性能结果

相关推荐

百度官方下载安装免费(百度官网免费下载)

你好!有两种方法可以免费下载!第一:加入百度文库VIP看百度文库的说明,只要加入百度文库的VIP即可免费下载,不过不推荐这种还是需要花钱的方式第二:下载冰点下载器那这种方法该如何免费下载呢?下面我详细...

windows10更新文件在哪里(win10系统更新文件在哪个文件夹)
windows10更新文件在哪里(win10系统更新文件在哪个文件夹)

win10自动更新下载的文件位于C:\Windows\SoftwareDistribution\Download文件夹中。当然我们要找到哪个文件夹确切到哪个补丁并不是那么容易的,因为命名的文件夹都是长长的一段代号,一般我们要删除更新文件的...

2026-01-02 03:55 liuian

扫描仪怎么安装(信鸽扫描仪怎么安装)

扫描仪的安装步骤可能会略有不同,具体取决于您所使用的扫描仪品牌和型号。一般而言,您可以按照以下基本步骤来安装扫描仪:确认您的计算机系统符合扫描仪的最低系统要求。在计算机上插入扫描仪的安装光盘,或从制造...

u盘怎么启动重装系统(u盘启动重装系统哪个好)

1.下载好系统之家U盘以后在电脑上插入U盘并打开软件,软件会自,动配置用户的电脑信息,点击制作U盘启动盘。2.接着就进入了选择系统的界面,在这里选择需要安装的系统版本,然后点击开始制作。3.弹出提示窗...

photoshopcs6哪一年的(pscs6版本好用吗)

pscs6的发行时间是2012年4月24日,该软件是是AdobePhotoshop的第13代,具有多种功能,包括内容识别修补、Mercury图形引擎/3D性能提升/3D控制功能/改良的设计工具/全新的...

电脑如何设置自动关机win10(win10系统电脑怎么设置自动关机)

windows10自动关机设置方法如下1、打开电脑管家主界面,点击右下角的“工具箱”;2、在工具箱的其他分类中选择打开“健康小助手”;3、健康小助手中有三项功能,护眼配色、定时休息和定时关机,点击定时...

wan口未连接是欠费吗(wan口未连接是怎么回事)

网费欠费了路由器WAN指示灯常亮不闪烁,一个灯亮。路由器正常工作的话,电源指示灯是常亮状态,SYS系统指示灯和WAN指示灯会闪亮,尤其是WAN指示灯的状态有些复杂:如果WAN指示灯不亮,说明网络连接有...

如何用手机修复sd卡(如何用手机修复sd卡受损)

第一步:将要修复的内存卡,用读卡器连接到电脑上,然后下载失易得数据恢复软件。    第二步:运行软件,选择要恢复的“u盘/储存卡”功能。注:在恢复数据之...

惠普台式机bios设置(惠普台式机bios设置核显内存)

1、按电源键启动电脑,在屏幕刚亮时,不停点击F10按键,就可以进入BIOS界面;2、如果F10没反应,则在启动时不停点击ESC键;3、这个时候会进入到启动菜单选项,F10BIOSSetup就是BI...

搜狗输入法不见了怎么调出来

因为在设置里勾选了智能ABC风格,所以他会像智能ABC一样,按空格才会显示。右键点击搜狗皮肤,设置属性,勾选搜狗风格就好了。注意,当你勾选智能ABC风格的时候会自动勾选“按空格出字”。使用【ctrl...

类似系统的黑科技网吧(系统的黑科技网吧好看吗)

如果机器配置和装修都不追求高档的话应该差不多只要不是全部追求顶配基本上可以

输入法哪个好用占内存又小(哪种输入法占内存小)

最不占内存的是系统自带的输入法,不过只适合win8用户,对于win7和xp用户推荐qq输入法,不推荐搜狗(1,安装包就可以看出占用系统大小,2,各种后台运行,3,各种广告提醒),除了qq推荐谷歌输入法...

2025组装机推荐配置(21年装机配置)

1.CPU:Intel酷睿i5-10400F;2.主板:华硕H410M-K;3.内存:金士顿16GBDDR42666MHz;4.硬盘:希捷Barracuda1TB7200转;5.显卡...

怎么恢复已经删除的人(怎么恢复已经删了的好友)
怎么恢复已经删除的人(怎么恢复已经删了的好友)

我们总是把美好的人和事进行拍照留念,手机相册中的照片越来越多,占用的空间也随之越来越大,如果在定期清理照片时误删了重要的照片,又该通过什么办法找回来呢?一、从手机最近删除中恢复手机照片删除之后,有两种方法可以找回,第一种就是手机自带的恢复功...

2026-01-01 21:55 liuian

三星手机系统下载(三星手机新版本下载)

三星手机下载系统有几种方法,其中最常见的方法是通过手机的设置菜单来下载系统更新。用户可以进入手机的设置菜单,找到“关于手机”或“软件更新”选项,然后点击“检查更新”来查看是否有可用的系统更新。如果有更...