在开发者选项中的系统跟踪里抓取的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,一直在运行
参考资料