美文网首页
性能优化<第三篇>:耗时分析

性能优化<第三篇>:耗时分析

作者: NoBugException | 来源:发表于2021-04-06 23:56 被阅读0次
1、耗时操作的处理
    在UI上执行的代码中,找到耗时操作,并将耗时操作放在子线程中执行。

    但是,问题是,怎么才能找到耗时操作。
2、不科学的方式寻找耗时代码
    使用如下代码:

    System.currentTimeMillis()

    在一段代码的首尾获取当前时间,计算时间差,可以获得那段代码执行的时间。

    这是一个非常不科学的做法。随着项目不断的迭代,代码量会越来越多,然而,使用计算时间差的方式寻找耗时代码是费时费力的。
3、Android SDK自带Debug生成tracelog
    采用如下代码分析耗时操作:

        File file = new File(Environment.getExternalStorageDirectory(), "MyCustomApplication.trace");
        Log.d("TAG", "file:" + file.getAbsolutePath());
        //把分析结果存在一个文件
        Debug.startMethodTracing(file.getAbsolutePath());

        ... 这里放置检查耗时的代码

        Debug.stopMethodTracing();

    然后将生成的文件拖入Android Studio中。
4、Activity启动时间
可以过滤关键字“Displayed”可以查看Activity的启动时间:
image.png
之后,可以查看Activity启动详细耗时:

输入命令:adb shell am start -W com.example.launchoptimization/.MainActivity

查看具体耗时:
image.png
ThisTime:最后一个Activity启动的时间;
TotalTime:所有Activity启动时间总和;
WaitTime:系统初始化时间 + 所有Activity启动时间总和
5、Android Studio自带traceview
使用Android Profiler可以查看指定时间区间的CPU使用情况
image.png
右侧可以看出具体方法的耗时。

[完...]

相关文章

网友评论

      本文标题:性能优化<第三篇>:耗时分析

      本文链接:https://www.haomeiwen.com/subject/mwgjkltx.html