【Android】perfetto使用学习

在开发者选项中的系统跟踪里抓取的perfetto文件是保存在/data/local/traces 里的

adb pull /data/local/traces ./

主线程中的执行是受vsync信号控制的,即间隔调用的

如果写一个while线程,一直使用cpu,是怎样的呢,这里我们来试验一下,加深学习

在一个按钮中开启一个线程

java 复制代码
new Thread(new Runnable() {
    @Override
    public void run() {
        running = true;
        int a = 222;
        int b = 11;
        Log.w("test222", "===== thread run");
        while (running) {
            try {
                // 执行一些任务
                a *= b;
            } catch (Exception e) {

                break; // 如果线程被中断,退出循环
            }
        }

    }
}).start();

执行,打印log

10-27 19:53:37.546 26783 27095 W test222 : ===== thread run

查看其trace

可以看到,这个进程号,线程号和log中的是一致的

点击Thread后面的箭头,会跳转到线程那里

可以看到,这个线程是绿色的,状态是running,一直在运行

参考资料

https://zhuanlan.zhihu.com/p/142675982

一款Android性能分析神器!Perfetto(建议收藏)_跟踪_其他系统_数据

相关推荐
小小测试开发12 小时前
RAG应用评测:从指标体系到LLM-as-a-Judge的自动化落地
android·运维·人工智能·自动化
xuankuxiaoyao12 小时前
8.27 WQ 直播学习
学习
m4Rk_13 小时前
【论文阅读】Agent 记忆机制(52):Cognitive Scaffold——面向 DeepResearch Agent 的结晶化记忆框架
论文阅读·人工智能·学习·开源·github
paopao_djshddhdj13 小时前
钉钉与钉钉服务商有什么区别?为什么建议选择服务商
android·钉钉
薛定e的猫咪13 小时前
【源码解读版】ContraBAR:用 CPC 对比学习替代变分推断做贝叶斯元 RL
人工智能·深度学习·学习·算法·机器学习
xcLeigh13 小时前
Go入门:rune与byte的区别和使用场景
android·javascript·golang
RisunJan13 小时前
鸿蒙(HarmonyOS NEXT)开发小白入门学习计划表
学习·华为·harmonyos
蒸蒸yyyyzwd13 小时前
cpp选手备战秋招学习笔记day17
笔记·学习
恋猫de小郭13 小时前
Firebase 如何让全球 Android 和 Flutter 开发者集体 Build Fail
android·前端·flutter
我命由我1234513 小时前
Android Camera - 获取当前设备屏幕的旋转角度、保存帧到外部存储的私有空间
android·java·开发语言·java-ee·android jetpack·android-studio·android runtime