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

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

作者: 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