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

    跟踪代码发现,应用启动时的白屏会持续到draw调用完成,这个过程中任何耗时操作将导致白屏时间增长。

    1.adb shell am start -W -n yourpakagename/MainActivity

     -W: wait for launch to complete 这里的launch to complete一直没理解是到哪里

    优点:可快速测试启动时间,与其他应用进行对比。

    但第一个页面展示的时间不太一样。

    2.System.currentTimeMillis()

    本打算用它测试1到底是谁的时间,可惜date +%s%N在android里面不好使,只能打印秒,没有纳秒也就无法显示毫秒。

    虽然其他应用可以在调用shell之前打印时间,但打印时间到shell执行中途似乎时间很不准备。也就无法考证了。

    2. Log.e("TimeRun", "resume " + android.os.Process.getElapsedCpuTime());

    打印进程运行时间,和2一样,快速分析不好使,具体分析也不好使。

    3.还是traceView在大概知道程序有问题的情况下好使

    android.os.Debug.startMethodTracing("application");

    android.os.Debug.stopMethodTracing();

    生成/sdcard/application.trace文件,使用traceview打开可以跟踪启动时耗时的函数

    我的程序启动在1s以上,发现大部分消耗在布局和绘图上,原来如果布局中每增加一个比较大的imageview时,上述时间都会数十上百毫秒的时间递增。

    而前面为了匹配各种机型,直接使用了720*720的图片,背景,遮罩,等等有5层,这个速度直线飙升呀。

    以后还是针对不同机型采用不同的尺寸吧。对于大尺寸的,希望有哪位朋友能帮忙指点一下。

    最好还是结合1和3共同分析

  • 相关阅读:
    C# 程序入口(Main)
    [转]GCD介绍
    【Selenium】WebDriver基础环境配置>Add Reference
    【原创】如何在一个没有测试经理的小公司做好测试?
    【Selenium】WebDriver基础环境配置>Nuget
    【原创】软件测试基础流程
    【共享】文件误删找回工具RCSETUP
    关于html base元素的使用
    关天C#数字类型的一个小发现
    js实现日期验证
  • 原文地址:https://www.cnblogs.com/Empenguin/p/3715192.html
Copyright © 2011-2022 走看看