【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(建议收藏)_跟踪_其他系统_数据

相关推荐
半夏知半秋37 分钟前
docker常用指令整理
运维·笔记·后端·学习·docker·容器
程序员码歌42 分钟前
短思考第263天,每天复盘10分钟,胜过盲目努力一整年
android·前端·后端
安卓兼职framework应用工程师1 小时前
Android 10.0 按键智能机按键连续响两次的异常处理
android·audio·audioservice·按键音·按键声音
蒸蒸yyyyzwd1 小时前
网络编程——threadpool.h学习笔记
笔记·学习
浪子不回头4151 小时前
SGLang学习笔记
人工智能·笔记·学习
studyForMokey1 小时前
【Android 项目】个人学习demo随笔
android
吃喝不愁霸王餐APP开发者1 小时前
利用责任链模式解耦多平台(美团/饿了么)霸王餐接口的适配逻辑
android·责任链模式
百***78751 小时前
Step-Audio-2 轻量化接入全流程详解
android·java·gpt·php·llama
deng-c-f2 小时前
Linux C/C++ 学习日记(53):原子操作(二):实现shared_ptr
开发语言·c++·学习