美文网首页
【Android性能优化面试题】TraceView的使用,查找C

【Android性能优化面试题】TraceView的使用,查找C

作者: 小城哇哇 | 来源:发表于2023-10-27 19:45 被阅读0次

    TraceView的使用,查找CPU占用(东方头条)

    这道题想考察什么?

    1. 是否了解TraceVIew的原理
    2. 是否了解如何查找CPU的使用率

    考察的知识点

    1. TraceView的工具原理
    2. 如何查找CPU的占用问题

    考生应该如何回答

    第一步、通过Android studio 打开Android profiler 点击其中的CPU就会有以下的界面,注意看下面标注的四个步骤。

    image-20220121205238726.png

    如上图所示,CPU Profiler的视图包括以下内容:
    ①App timeline:显示CPU在执行过程中的时间轴。
    ②线程 timeline:显示线程列表以及每个线程在某个时间段占用的CPU的资源情况。
    ③CPU timeline:列出CPU在App运行过程中CPU使用情况。
    ④Method Trace:在指定线程中,执行的方法栈,横行表示执行的时间轴,纵向表示方法执行的调用轴。

    第二步、使用步骤

    • 打开CPU Profiler界面
    • 点击下方的红色圆点,开始记录(Record)堆栈(此时按钮变灰色),记录一段时间段后,再点击下停止记录(此时按钮变红色)
    • 在②区域选择你用分析的线程
    • 在③区域中选择要分析的CPU片段(只能有记录的CPU片段)
    • 查看④区域,就会有一系列的执行方法队列显示出来,通过横向查看可以看出某个方法的执行时间(横向时间越长,执行的时间越长),通过纵向表示方法的调用关系。

    第三步、技术说明

    ②区域中,线程占用CPU资源,会有不同颜色标记:

    • 绿色: 线程处于活动状态或准备好使用CPU。也就是说,它处于”运行”或”可运行”状态。
    • 黄色: 线程处于活动状态,但是在完成其工作之前,它正在等待I / O操作(如文件或网络I / O)。
    • 灰色: 线程正在睡眠,不会消耗任何CPU时间,当线程需要访问尚未可用的资源时,有时会发生这种情况。要么线程进入自愿性睡眠,要么内核使线程休眠,直到所需的资源可用。

    ④区域中,不同的方法也会颜色也有所不同:

    • 橙色:系统方法
    • 蓝色:第三方API(包括java语言的api)
    • 绿色:App自身方法

    第四步、CPU占用相关指标说明

    • Incl Cpu Time:方法在CPU中执行所有时间(包含其调用的方法所消耗的时间)
    • Excl Cpu Time: 方法在CPU中执行的时间(不包含其调用的方法所消耗的时间)
    • Incl Real Time:方法运行消耗的所有时间(包含子方法)
    • Excl Real Time:方法运行消耗的时间(不包含子方法)
    • Calls + Recur Calls/Total :方法调用、递归次数(重要指标,防止死循环)
    • Cpu Time/Call :该方法平均占用 CPU 的时间(重要指标,可以看出单个方法占用CPU的平均时间,但是要防止在个别调用处出现长时间占用,然后被平均了)
    • Real Time/Call :平均执行时间,包括切换、阻塞的时间(重要指标,可以看出单个方法执行的平均时间值,但是要防止在个别调用处出现长时间调用,然后被平均了)

    最后

    有需要面试题的朋友可以关注一下哇哇,以上都可以分享!!!

    相关文章

      网友评论

          本文标题:【Android性能优化面试题】TraceView的使用,查找C

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