书接前文 Android 性能测试初探(一)。上回大体介绍了下在 android 端的性能测试项,现在我们就细节测试项做一些阐述(包括如何自己 DIY 测试)。

首先我们来说说启动时间。关于应用的启动时间的测试,分为三类:

1. 首次启动 --应用首次启动所花费的时间
2. 非首次启动 --应用非首次启动所花费的时间
3. 应用界面切换--应用界面内切换所花费的时间

那么如何来做启动时间的测试呢,一般我们分为2类,一类为使用软件来测试,一类为使用硬件来测试,首先我们说说软件测试的方法,可能大部分人都比较通晓使用 android 提供的 DisplayManager 来获取 activity 的启动时间吧,在这里我简单说下如何通过批处理来 DIY

  • 通过日志过滤关键字 Displayed 来过滤所有 activity 所打印的,记录日志通过 adb logcat>/address/logcat.txt 然后使用 find “Displayed” /address/logcat.txt>/newaddress/fl.txt
  • 通过 activity 名来过滤获取所测应用 find “ActivityName” /newaddress/fl.txt>/newaddress/last.txt
  • 通过计算 activity 最后剩余的时间之和即可(这里可以使用 excel 表格自动相加也可以使用算法,我就不详细介绍了)

除了 DisplayManager 的打印时间方法后,还有通过关注 am 的启动时间及 DisplayManager 打印的结束时间,通过两者时间之间想减也能得到应用的启动时间,还有可以通过 PowerManager 来计算打印时间,在应用启动的时候,我们可以关注 ActivityManager-Launch 的变化来计算应用的启动时间,还有可以通过截图统计启动时间,对于自研应用,最效率的莫过于直接在程序中插入打印时间的节点了

说完了软件测试的方法,接下来我们聊聊硬件测试,这里我们可以使用高速相机或者手机,采用录像的方法把应用启动过程给录制下来,然后通过人工数帧或者程序数帧的方式计算启动时间

好了,今天就说到这里,下回继续说其他测试项

注明:

本文转载 kasi的文章 ,感谢kasi的分享,原文地址:

https://testerhome.com/kasi

最新文章

  1. Hawk 5. 数据库系统
  2. iOS_MJRefrash的详解以及使用
  3. 《sqoop实现hdfs中的数据导出至mysql数据库》
  4. Java多线程理解
  5. Excel公式错误提示啥意思?
  6. Android应用Icon大小在不同分辨率下定义
  7. linux c 通过文件描写叙述符获取文件名称
  8. Quartz2D裁剪圆形头像
  9. JQuery选择所有标题的元素
  10. 面试经验And总结
  11. mybatis用spring的动态数据源实现读写分离
  12. Java多线程:CopyOnWrite容器
  13. 一个前端开发者换电脑的过程(IDE篇)
  14. WPF:如何高速更新Model中的属性
  15. undefined 和null的区别
  16. Objective-C 禁用NSMenu中的系统services菜单项
  17. Linux下的python等操作【转载】
  18. IIS转发需要的模块
  19. Log4j基础知识
  20. mysql Error_code: 1593

热门文章

  1. N - 贪心
  2. N天学习一个linux命令之ss
  3. 淘宝信海龙 --PHP系统
  4. compact处理流程分析
  5. Android WiFi开发教程(二)——WiFi的搜索和连接
  6. C++ 中的友元(friend)
  7. hdu1704——floyd
  8. 三个命令解决ASTGO服务器重启后各种问题
  9. [Apple开发者帐户帮助]三、创建证书(7)创建证书签名请求
  10. python中使用pip安装报错:Fatal error in launcher... 解决方法