Systrace系列1—— 简介

news/2024/12/3 5:04:09/

本文主要是对 Systrace 进行简单介绍,介绍其简单使用方法;如何去看 Systrace;如何结合其他工具对 Systrace 中的现象进行分析。

本系列的目的是通过 Systrace 这个工具,从另外一个角度来看待 Android 系统整体的运行,同时也从另外一个角度来对 Framework 进行学习。也许你看了很多讲 Framework 的文章,但是总是记不住代码,或者不清楚其运行的流程,也许从 Systrace 这个图形化的角度,你可以理解的更深入一些。

介绍

Systrace 是 Android4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android 关键子系统(如 SurfaceFlinger/SystemServer/Kernel/Input/Display 等 Framework 部分关键模块、服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,改进性能。

Systrace 的功能包括跟踪系统的 I/O 操作、内核工作队列、CPU 负载以及 Android 各个子系统的运行状况等。在 Android 平台中,它主要由3部分组成:

  • 内核部分:Systrace 利用了 Linux Kernel 中的 ftrace 功能。所以,如果要使用 Systrace 的话,必须开启 kernel 中和 ftrace 相关的模块。
  • 数据采集部分:Android 定义了一个 Trace 类。应用程序可利用该类把统计信息输出给ftrace。同时,Android 还有一个 atrace 程序,它可以从 ftrace 中读取统计信息然后交给数据分析工具来处理。
  • 数据分析工具:A

http://www.ppmy.cn/news/81465.html

相关文章

关于compile() 函数简单实用示例

compile() 函数是什么 compile() 函数将一个字符串编译为字节代码。 compile将代码编译为代码对象,应用在代码中可以提高效率。 语法 compile(source, filename, mode, flags0, dont_inheritFalse, optimize-1) 参数 source:表示要编译的源代码字符串、…

【004hive基础】hive的文件存储格式与压缩

文章目录 一.hive的行式存储与列式存储二. 存储格式1. TEXTFILE2. ORC格式3. PARQUET格式 ing 三. Hive压缩格式1. mr支持的压缩格式:2. hive配置压缩的方式:2.1. 开启map端的压缩方式:2.2.开启reduce端的压缩方式: 四. hive中存储格式和压缩相结合五. hive主流存储格式性能对比…

C语言的一些杂记6

实现矩阵序号转置的三种方式 for (i 0; i < row * col; i)t[i / row][i % row] m[i % row][i / row];for (i 0; i < row; i)for (j 0; j < col; j)t[j][i] m[i][j];for (i 0; i < row; i)for (j 0; j < col; j)*(*(t j) i) *(*(m i) j); 变相数组 …

人类睡眠EEG分析:附代码实现的方法学入门

导读 近年来&#xff0c;人类睡眠脑电图(EEG)研究激增&#xff0c;采用了越来越复杂的分析策略将电生理活动与认知和疾病联系起来。然而&#xff0c;正确计算和解释当代睡眠EEG中使用的指标需要注意许多理论和实际的信号处理细节。本研究回顾了与频谱分析、蒙太奇选择、相位和…

【OpenCV DNN】Flask 视频监控目标检测教程 01

欢迎关注『OpenCV DNN Youcans』系列&#xff0c;持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 01 【OpenCV DNN】Flask 视频监控目标检测教程 01 1. 面向Python程序的Web框架2. Flask 框架的安装与使用2.1 Flask 安装2.2 Flask 框架例程2.3 绑定IP和端口2.4 Flask路…

三线制Pt100隔离器在掘进机电机保护系统中的应用

摘要&#xff1a;三线制Pt100隔离器相较于二线制的更加稳定可靠&#xff0c;在中低温地区有广泛的应用。掘进机电机保护系统中&#xff0c;利用三线制Pt100隔离器将热电阻信号转换为线性4-20mA电流信号&#xff0c;经过A/D转化&#xff0c;传输至PLC并显示&#xff0c;通过实时…

Aspose.Tasks for Java 23crack

Aspose.Tasks for Java 23crack 新属性允许您控制“分配成本”和“剩余成本”的自动计算。 Aspose.Tasks for Java是一个项目管理API&#xff0c;可帮助您操作Microsoft project文档。开发人员可以定义项目的主要属性和默认属性以及日历信息。他们还可以指定工作日和日历例外情…

还不懂 Spring Boot 启动流程的,看这一篇就够了!

通常&#xff0c;我们只需为一个类添加SpringBootApplication注解&#xff0c;然后再添加一个main方法&#xff0c;其内固定的写法为SpringApplication.run(Application.class, args)。由此&#xff0c;便可启动Spring Boot服务。 具体而言&#xff0c;Spring Boot的启动流程包…