Android Studio Profiler

1.我们想要查看自己方法的调用链,或者分析方法耗时的情况,可以选择Android Studio的Profiler,比较方便快捷。如下:

2.基本的面板参数讲解:

3.可以通过搜索,查看对应的方法,以及方法的调用链:

可以看到,当搜索有对应的结果方法的时候,调用链会高亮显示。这样的功能,对我们分析源码的流程有很大的帮助。

4.然后可以放大对应的调用链查看:

这里找到了我们调用的API方法,使用WindowManger的addView去添加一个弹窗

5.抓取trace文件,除了使用Profiler之外,还可以使用systrace和Perfetto。但是自 ‌2022 年 3 月起‌,Google 在 platform-tools ‌33.0.1 及以上版本‌中移除了 systrace 目录及相关脚本,所以最新的platform-tools实际上已经能使用systrace录制trace文件,它也渐渐退出历史舞台了。取而代之的是Perfetto,从Android10开始,Android系统内部已经开始支持Perfetto。对比systrace,Perfetto除了信息更全面、录制时间更久、网页可视化工具支持等优势外,还有一点,就是在抓取trace文件时候,不用像systrace那样运行Python脚本,而直接使用adb命令即可。

相关推荐
古法安卓20 小时前
Android-高版本 LMKD 源码解析:基于 PSI 的内存压力监控与查杀全流程
android·java·android studio
古法安卓20 小时前
Android-PSI 详解:libpsi 源码解析——116 行代码架起 lmkd 与内核之间的桥
android·java·android studio
ryan_9962 天前
一次讲清大模型应用评测:从 Recall@k、LLM Judge 到 Agent 上线门禁
agent·trace·eval·召回率·大模型评测·evaluation
我命由我123455 天前
Compose Codelab 学习 - Compose 中的基本布局
android·java·java-ee·kotlin·android studio·android-studio·android runtime
杜子麟5 天前
Android studio模拟器离线安装
android·macos·android studio
我命由我123456 天前
Android 开发问题:unexpected element <service> found in <manifest>
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
古法安卓6 天前
Android-SELinux 策略调试实战:从 AVC 日志到策略修复
android·java·android studio
我命由我123456 天前
Android 开发问题:TopAppBar 和 topAppBarColors API is experimental...
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
我命由我123456 天前
Android 开发问题:使用 AndroidTreeView 时,自定义视图无法撑满父容器
android·java·java-ee·kotlin·android studio·android-studio·android runtime