• 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共同分析

  • 相关阅读:
    PHP全部手册
    你必须收藏的GitHub技巧
    PV和并发
    api接口
    LeetCode 14. 最长公共前缀
    LeetCode 1037. 有效的回旋镖
    LeetCode 242. 有效的字母异位词
    LeetCode 151. 翻转字符串里的单词
    LeetCode 22. 括号生成
    LeetCode 面试题05. 替换空格
  • 原文地址:https://www.cnblogs.com/Empenguin/p/3715192.html
Copyright © 2020-2023  润新知