Android | 性能优化 之 TraceView工具的使用

上代码!

先加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>

选择跟踪范围,在开始追踪和结束的地方:

//================在这里开始方法追踪
val externalStorageAbsPath: String =
    Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
     .getAbsolutePath()
val traceFilePath = externalStorageAbsPath + File.separator + "test_.trace"
Log.i("测试文件的地址:", traceFilePath)
Debug.startMethodTracing(traceFilePath)
//================在这里开始方法追踪

你的代码。。。。。。

//================在这里结束方法追踪
Debug.stopMethodTracing();

找到trace文件:

进入shell模式

adb shell

然后:【ls 这个文件地址(test_.trace)】

表示有这个文件,然后退出来,用【adb pull 文件地址(test_.trace)】

然后:拿到 test_.trace 文件后,你可以使用Android Studio的Traceview工具进行分析和查看。具体步骤如下:

  1. 打开Android Studio。
  2. 点击顶部菜单的"View"选项。
  3. 在下拉菜单中选取"Tool Windows",然后点击"Profiler"选项。
  4. 在"Profiler"窗口中,你会看到你的设备以及正在上面运行的进程。选择你的应用进程。
  5. 在顶部菜单栏,点击"File",从下拉菜单中选择"Open...",然后选择你的 test_.trace 文件。

有什么用呢?

xxx.trace文件是Android系统生成的一种跟踪文件,它会记录下你的应用在一段时间内的详细运行情况,包括每个方法的调用次数、每次调用的时间和被哪个线程调用等等。这些信息可以帮助你找出应用潜在的性能问题,例如执行效率低的方法、不必要的重复调用或者可能引起界面卡顿的长时间运行操作。

有了这些信息,你就可以分析出应用的运行状况。知道哪些方法运行的时间非常长,那么可能就需要你去查看一下这个方法的实现,看看是否有可能优化以减少运行时间。或者如果某个方法被频繁调用,那么你也可以检查一下是否存在不必要的重复调用。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL数据备份操作步骤

常见的数据备份命令 备份命令备份速度恢复速度介绍功能适用场景lvm2快照快快一般、支持几乎热备、速度快一般中小型数据量的备份cp快快物理备份、灵活性低很弱少量数据备份xtrabackup较快较快实现innodb热备、对存储引擎有要求强大较大规模的备份mysqldump慢慢逻辑备份、适用所…

Java学习 - 网络IP地址与子网划分 讲解

IP地址 作用 用于决定数据包最终到达哪个计算机 组成 由32位比特组成&#xff0c;即4个字节这32位可以分为两个部分&#xff0c;称为网络号和主机号同一网段的计算机网络号相同&#xff0c;路由器负责连接不同的网段&#xff0c;而交换机负责连接同一网段中不同的计算机同一…

reidis的内存回收和内存淘汰策略

redis的内存回收 8种内存淘汰策略

RabbitMQ学习总结

目录 一:介绍 二:应用场景 三:工作原理 组成部分说明 消息发布接收流程 四:下载安装 五:环境搭建 创建Maven工程 生产者 消费者 六:工作模式 Work queues Publish/subscribe 生产者 消费者 Routing 生产者 ​编辑消费者 思考 Topics 生产者 匹配…

openppp2 命令行接口详解

openppp2 是一个工作在 OSI/3 Layer 网络通信层的虚拟以太网工具链的开源软件&#xff0c;在查阅本文之前&#xff0c;人们可以查阅以下资料。 开源仓库&#xff1a; liulilittle/openppp2: PPP PRIVATE NETWORK™ 2 VPN Next Generation Reliable and Secure Virtual Etherne…

JavaWeb——SQL简介

1. SQL的介绍 SQL是一门结构化查询语言&#xff0c;就是一门用来操作关系型数据库的数据库语言&#xff1b; 使用SQL语句&#xff0c;可以操作所有的关系数据库&#xff1b; 但是&#xff0c;不同的关系型数据库的SQL操作略有不同&#xff0c;称为“方言”&#xff1b; 2. S…

大模型网信办备案全网最详细说明(付附件)

根据目前公开的国内大模型算法备案统计来看&#xff0c;首批境内深度合成服务算法备案清单&#xff0c;总共通过41家&#xff0c;14家互联网大厂和独角兽企业成功申报算法备案32个&#xff0c;6家新兴互联网公司成功申报算法备案9个&#xff0c;仅占比21.9%。 第二批境内…

springboot学习-图灵课堂-最详细学习

springboot-repeat springBoot学习代码说明为什么java -jar springJar包后项目就可以启动 配置文件介绍 springBoot学习 依赖引入 <properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.target>8</mav…

嵌入式开发二十一:定时器之通用定时器

通用定时器是在基本定时器的基础上扩展而来&#xff0c;增加了输入捕获与输出比较等功能。高级定时器又是在通用定时器基础上扩展而来&#xff0c;增加了可编程死区互补输出、重复计数器、带刹车(断路)功能&#xff0c;这些功能主要针对工业电机控制方面。 本篇博客我们主要来学…

leetcode 二分查找·系统掌握 猜数字大小

题目&#xff1a; 题解&#xff1a; 使用最经典普通二分即可 int guessNumber(int n) {long l0,rn,mid;while(l<r){mid(rl)>>1;if(guess(mid)0)return mid;else if(guess(mid)-1)rmid-1;else lmid1;}return 0;}

MySQL的DML语句

文章目录 ☃️概述☃️DML☃️添加数据☃️更新和删除数据☃️DML的重要性 ☃️概述 MySQL 通用语法分类 ● DDL: 数据定义语言&#xff0c;用来 定义数据库对象&#xff08;数据库、表、字段&#xff09; ● DML: 数据操作语言&#xff0c;用来对数据库表中的数据进行增删改 …

如何有效管理信息技术课堂

有效管理信息技术课堂是确保学生学习效果、维护课堂秩序和提升学生兴趣的关键。以下是一些详细的方法和策略&#xff0c;旨在帮助教师更好地管理信息技术课堂&#xff1a; 一、制定明确的课堂规则 强调课堂纪律&#xff1a;确保学生明确了解并遵守课堂纪律&#xff0c;如准时…

【详细】一步一步实现一个BP神经网络-逐行代码解说

本文来自《老饼讲解-BP神经网络》https://www.bbbdata.com/ ​ 要如何使用代码实现一个BP神经网络呢&#xff1f; 下面跟随笔者&#xff0c;一步一步详细来实现&#xff0c;再对代码进行详细解说。 通过本文可以详细掌握怎么使用matlab来实现一个BP神经网络。 一、一步一步实…

去水印助手,小熊录屏,OldRoll复古胶片相机

我们将带大家了解三款特色应用,软件是经过大佬处理过的&#xff0c;都非常的好用&#xff01;今天分享给大家&#xff01;如果你也喜欢这几款软件不要忘记给博主点击点赞和再看哦&#xff01; 软件获取链接在链接的底部&#xff1a; 一键去水印助手 无论您是在各大社交平台上…

区块链技术:金融市场监管的新篇章

一、引言 随着金融科技的迅猛发展&#xff0c;区块链技术作为其中的佼佼者&#xff0c;正逐渐改变着金融市场的格局。在金融市场监管领域&#xff0c;区块链技术以其独特的优势&#xff0c;为监管机构提供了新的监管思路和手段。本文将深入探讨区块链技术在金融市场监管中的作用…

【机器学习 复习】第3章 K-近邻算法

一、概念 1.K-近邻算法&#xff1a;也叫KNN 分类 算法&#xff0c;其中的N是 邻近邻居NearestNeighbor的首字母。 &#xff08;1&#xff09;其中K是特征值&#xff0c;就是选择离某个预测的值&#xff08;例如预测的是苹果&#xff0c;就找个苹果&#xff09;最近的几个值&am…

18.cobra框架了解

目录 概述举例安装实践实践 概述 github cobra cobra 快速的实现一个命令行客户端&#xff0c;命令行解析工具。 cobra 中的主要概念 -Commands 表示执行运作-Args 执行参数-Flags 这些运作的标识符 举例 git clone 命令 git clone https://github.com/spf13/cobra.git -…

有玩家在2011年的MacBook上成功运行了Windows XP 还安装了触摸屏

我们已经在许多不同的设备上看到过 Windows XP 正在运行。这个古老的操作系统于 2001 年正式推出&#xff0c;现在已经老到其最后一次软件更新是在近十年前。一位好奇的玩家试图在 2011 年的触摸屏 MacBook 上为 Windows XP 打造了一个新家&#xff0c;复古技术探索者 Michael …

绽放光彩的小程序 UI 风格

绽放光彩的小程序 UI 风格

深度揭秘:深度学习框架下的神经网络架构进化

深度学习框架下的神经网络架构经历了从基础到复杂的显著进化&#xff0c;这一进程不仅推动了人工智能领域的突破性进展&#xff0c;还极大地影响了诸多行业应用。本文旨在深入浅出地揭示这一进化历程&#xff0c;探讨关键架构的创新点及其对现实世界的影响。 引言&#xff1a;…