Android Studio自带Profiler工具进行CPU资源及线程问题分析步骤

1、运行需要检测CPU资源问题与线程问题的程序

这里以“com.example.opengltest”程序为例。

2、点击Profiler按钮

3、点击SESIONS "+"号按钮选择设备,选择对应设备下的应用或进程

4、双击CPU区块

5、选择Trace config选项,选择“Java/Kotlin Method Sample...”选项,以下为图示及相关介绍:

在 Android Studio Profiler 中,CPU 分析中的 Trace Config 是用于配置你要收集的性能数据的设置。通过 Trace Config,你可以指定要采集的事件、采集的持续时间、采集的频率等内容。

常见的 Trace Config 设置包括以下一些参数:

  1. Sampling Interval(采样间隔):指定每次采样的时间间隔。较小的采样间隔能提供更精细的数据,但可能会增加性能开销。

  2. Method Tracing(方法追踪):允许你启用或禁用对应用程序方法的追踪,以便查看哪些方法消耗了 CPU 时间。

  3. Native Method Tracing(本地方法追踪):允许你开启或关闭追踪应用程序中的本地方法调用。

  4. Thread Information(线程信息):可以配置是否要包含线程信息在内的数据。

  5. Advanced Settings(高级设置):在一些 Profiler 中,还可以找到更详细的高级设置,用于微调 Trace Config。

通过调整 Trace Config 的设置,你可以更精确地定位性能问题并收集你关心的数据。选择合适的 Trace Config 对于深入分析性能问题非常重要。

可以点击编辑配置,如图,但我这里不能配置不知为何,欢迎留言交流:

6、点击“Record”按钮开始记录追踪数据,

点击“Stop”按钮结束记录追踪数据。

自动进入CPU所有线程的分析界面

 7、双击颜色有异常的对应线程名,选择“Top Down”可以轻松看到什么线程,什么函数体的CPU总占用时间、占用比。

8、根据函数体名和总时间占用时长等信息可以轻松的知道是哪个模块、哪个线程、哪个函数导致的资源问题(哪怕不知道是哪个线程名的线程,在这里就一目了然了),譬如这几个奇怪的线程名和线程:

8、写在最后:此分析工具的分析方法可以有效解决CPU占用较高、频繁GC、任务线程或界面卡顿等问题,实践后觉得比较有效,所以分享出来。

这个工具还在学习使用中,欢饮大家留言更正错误,提出建议,谢谢!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/333288.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

张大哥笔记:赚钱高手养成计划---如何将一份时间产生N份收入?

我们常说的赚钱的四种境界有哪些? 1.靠体力挣钱 2.靠技能挣钱 3.靠知识挣钱 4.靠平台钱生钱 所以对应的收入的模式就会是下面4种模式: 1.一份时间卖1次 2.一份时间卖N次 3.一份时间溢价卖N次 4.购买他人时间为自己所用 时间对于每个人都是相同的…

mail发送接口API如何使用?怎么调用接口?

mail发送接口API的性能怎么样?邮件接口发信的技巧? 为了自动化和集成电子邮件功能到应用程序或系统中,开发人员可以使用各种邮件发送接口API。AokSend将介绍如何使用这些API来发送电子邮件,提高效率和灵活性。 mail发送接口API&…

C++青少年简明教程:switch语句

C青少年简明教程:switch语句 在C中,switch语句用于基于一个表达式的值来执行不同的代码块。这个表达式通常是一个整数类型(如int,char,或枚举类型),并且case标签必须是整数常量表达式。 语法格…

DRKCT复现

Osint 羡慕群友每一天 MISC 签到 扫码关注公众号,回复一下行 (眼神要好, 我做题时没看见有个二维码) 神秘的文字 把代码js运行一下 (用js的原因是前面给的动物代表的字符类似jsfuck代码) 𓅂![]; 𓂀!…

音视频开发5 补充 - Nginx搭建rtmp流媒体服务器,目的是让ffmpeg 可以直播推流

直播推流 ffmpeg -re -i out.mp4 -c copy flv rtmp://server/live/streamName -re, 表示按时间戳读取文件 参考: Nginx 搭建 rtmp 流媒体服务器 (Ubuntu 16.04) https://www.jianshu.com/p/16741e363a77 第一步 准备工作 安装nginx需要的依赖包 打开 ubutun 终端…

Less语言

Less是一门预编译语言,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS更易维护和扩展 Less也扩充了CSS语言,增加了诸如变量、混合运算、函数等功能。Less既可以运行在服务端(Node.js和Rhino平台)也可以运行在客户端(浏览器…

K8S认证|CKA题库+答案| 13. sidecar 代理容器日志

目录 13、使用 sidecar 代理容器日志 CKA v1.29.0模拟系统 下载试用 题目: 开始操作: 1)、切换集群 2)、生成yaml文件 3)、官网找模板 4)、编辑yaml文件 5)、应用yaml文件 ​6&…

H3CNE-8-ARP工作原理

ARP:Address Resolution Protocol 通过目的IP地址请求对方的MAC地址的过程。 数据链路层在进行数据封装时,需要目的MAC地址。 arp -a 查看 arp -d * 清空 主机A发送一个数据包给主机C之前,首先要获取C的MAC地址 数据封装

Day 40 Web容器-Tomcat

Tomcat 一:Tomcat简介 1.简介 ​ Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目 ​ Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器 ​ Tomcat是WEB容器/WE…

Golang | Leetcode Golang题解之第108题将有序数组转换为二叉搜索树

题目: 题解: func sortedArrayToBST(nums []int) *TreeNode {rand.Seed(time.Now().UnixNano())return helper(nums, 0, len(nums) - 1) }func helper(nums []int, left, right int) *TreeNode {if left > right {return nil}// 选择任意一个中间位置…

诚心分享!主食冻干横向对比:希喂、爱立方、K9等谁最值得入手?

主食冻干到底有必要喂吗?七年铲龄铲屎官告诉你,是真的很有必要喂! 这些年随着宠物经济的发展、科学养宠的普及,现在养猫不仅局限在让猫吃饱就行,更多人开始关注到猫的饮食健康。大量的实际喂养案例证明了,传…

冯喜运:5.27黄金短线看震荡,今日黄金原油走势分析

【黄金消息面分析】:黄金作为传统的避险资产,在经济不确定性中扮演着至关重要的角色。近期,国际黄金价格经历了显著的波动。从5月9日的低点2325.19美元/盎司反弹至2340美元/盎司以上,尽管金价曾一度触及2449.89美元/盎司的历史高点…

Baxter机器人摄像头打不开的一个可能的解决办法

操作过程 1.连上机器人 cd ros_ws/ ./baxter.sh2.查看摄像头(最多开两个) rosrun baxter_tools camera_control.py -l 3.打开指定的摄像头 rosrun baxter_tools camera_control.py -o left_hand_camera -r 1280x800 另:关闭的话 rosrun…

南京“十元手冲咖啡” :流量怎么砸中你?

三包速溶咖啡、一个塑料热水壶,却意外打造出一款爆品。 南京“十元手冲咖啡”突然爆火,起初靠的是出人意料,你以为她要从罐子里擓粉了,她掏出来三条雀巢速溶;你以为她要用机器打水了,她拿出来一个上世纪的…

Docker学习(4):部署web项目

一、部署vue项目 在home目录下创建项目目录 将打包好的vue项目放入该目录下,dist是打包好的vue项目 在项目目录下,编辑default.conf 内容如下: server {listen 80;server_name localhost; # 修改为docker服务宿主机的iplocation / {r…

服务器端口号,如何避免与公共端口冲突

首先,我们需要明确什么是服务器端口号。服务器端口号是计算机操作系统分配给网络应用程序的一个数字标识,用于区分不同的网络服务。每个网络服务都需要一个唯一的端口号来进行标识,以便在通信过程中能够准确找到对应的服务。 为了避免与公共端…

【微积分】Grant Sanderson

梯度:将各个偏导打包 定义:direction of steepest ascent 梯度向量的长度:最速上升方向的陡峭程度 方向导数:偏导的一种拓展 【托马斯微积分学习日记】13.1-线积分_哔哩哔哩_bilibili 概述 16.1line integrals of scalar funct…

2000.1-2022.06.17中国经济政策不确定性指数日度数据

2000.1-2022.06.17中国经济政策不确定性指数数据(日度) 1、时间:2001.1.1-2022.06.17 2、指标:CNEPU(经济政策不确定性指数) 3、来源:China Economic Policy Uncertainty Index 4、用途&…

牛客NC164 最长上升子序列(二)【困难 贪心+二分 Java/Go/PHP/C++】

题目 题目链接: https://www.nowcoder.com/practice/4af96fa010c44638a7e112abf65f7237 思路 贪心二分 所谓贪心,就是往死里贪,所以对于最大上升子序列,结尾元素越小,越有利于后面接上其他的数,也就可能变…

不用从头训练,通过知识融合创建强大的统一模型

在自然语言处理(NLP)领域,大型语言模型(LLMs)的开发和训练是一个复杂且成本高昂的过程。数据需求是一个主要问题,因为训练这些模型需要大量的标注数据来保证其准确性和泛化能力;计算资源也是一个…