zoukankan      html  css  js  c++  java
  • 启动速度

    标准如下:

    应用启动的过程:

    1.桌面点击图标 2.系统为应用创建进程 3.进程创建自己的组件

    Activity的启动过程:

    首先执行的是onCreate()、onStart()、onResume(),再等View树全部构建完毕,setContentView中的View全部显示结束了,算作是应用完全启动了

    速度测试方法差别:

    adb shell am start -W -n 包名/activity 

    ➜  ~  adb shell am start -W com.xys.preferencetest/.MainActivity
    Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.xys.preferencetest/.MainActivity }
    Status: ok
    Activity: com.xys.preferencetest/.MainActivity
    ThisTime: 1047
    TotalTime: 1047
    WaitTime: 1059
    Complete
    • ThisTime:最后一个启动的Activity的启动耗时
    • TotalTime:自己的所有Activity的启动耗时
    • WaitTime: ActivityManagerService启动App的Activity时的总时间(包括当前Activity的onPause()和自己Activity的启动) 

    缺陷:未包括view的绘制

    $ adb logcat | grep “ActivityManager”

    Activity启动,到Layout全部显示的过程,这里并不包括数据的加载,因为很多App在加载时会使用懒加载模式,即数据拉取后,再刷新默认的UI

    优点:包括了view的绘制

    缺点:未包括数据的加载

    最跟移器测试相接近的软件方法:

    reportFullyDrawn(自定义上报时间)

    $ adb logcat | grep “ActivityManager”
    ActivityManager: Displayed com.example.launcher/. LauncherActivity: +999ms
    ActivityManager: Fully drawn com.example.launcher/. LauncherActivity: +1s999ms

    前提条件:API19+,所以,这里需要对SDK版本进行判断

    缺陷:API19+,要代码添加 

    帧率的测试:

    ➜  ~ adb shell screenrecord --bugreport /sdcard/test.mp4

    备注:

    强制冷启动:在『开发者选项』中的Background Process Limit中设置为No Background Processes

  • 相关阅读:
    渗透脚本快速生成工具Intersect
    Visual Studio 2017创建XAML文件
    Windows命令远程执行工具Winexe
    解决Visual Studio 2017隐藏“高级保存选项”命令
    Web应用扫描测试工具Vega
    网易轮播图
    Dom
    通过克隆实现无缝滚动轮播图
    函数
    boostrap
  • 原文地址:https://www.cnblogs.com/penghong2014/p/6114578.html
Copyright © 2011-2022 走看看