Android Profiler分析(一)概述

原理
Oprofile是另一个功能更强大的性能数据采集和分析工具,其工作原理如下:

它利用性能计数器(Performance Counter)或者定时器(针对kernel不支持性能计数器的情况),通过连续的采样获得统计数据,从而对内核和用户空间进程进行性能分析。
以性能计数器为例,在系统运行过程中,当某个事件发生时,对应的性能计数器就会自加。当达到计数器的设定值时会产生一个中断。Oprofile驱动利用这个中断来进行采样统计。通过获取中断发生时PC指针的值以及内核中保存运行的任务的信息等,并把它们转化成对测评有用的数据。
Oprofile包括内核驱动和用户空间工具两个部分,其中:

内核驱动实现了一个oprofilefs虚拟文件系统。它挂载到/dev/oprofile,用来向用户空间报告数据和接收来自用户空间的设置。它是用户空间进程与内核通信的桥梁。驱动中还包括了与架构相关和通用的驱动,通过它们访问性能计数器寄存器、收集数据后报告给用户空间。守护进程用户从内核接收数据并保存在磁盘上以备分析使用。
在用户空间提供了两个工具:oprofiled(作为守护进程在后台通过和/dev/oprofile交互以获取驱动收集的数据)、opcontrol(用户操作的控制工具,它通过读写oprofilefs来控制采样相关的设置)
Android Profiler的使用流程
启用Profiler
如果您使用的是运行 Android 7.1 或更低版本的设备,则默认情况下,并不是所有分析数据均可见。 如果您看到一条消息,其显示“Advanced profiling is unavailable for the selected process”,则需要启用高级分析,Android Studio 必须在您编译后的应用中插入监控逻辑。 高级分析工具提供的功能包括:

Event 时间线(所有分析器窗口中均有)
分配对象数量(Memory Profiler 中)
垃圾回收 Event(Memory Profiler 中)
有关所有传输的文件的详情(Network Profiler 中)
要启用高级分析,请按以下步骤操作:

Run > Edit Configurations.
选中左侧要分析的APP
选定Profiling tab > Enable advanced profiling
重新构建项目
点击View > Tool Windows > Android Profiler或者点击工具栏的图标即可打开

注意,高级分析会减缓您的构建速度,所以仅当您想要开始分析应用时才启用此功能。

按钮①的位置选择设备,通过按钮②的位置选择想要的app进程,工具最底部显示了一个时间轴,其中包含了CPU、内存和网络使用的实时图。该窗口还包括时间轴缩放控制按钮③,一个跳转到实时更新的按钮④,以及显示活动状态、用户输入事件和屏幕旋转事件⑤的事件时间轴
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值