当前位置: 首页 > news >正文

Android掉帧分析

1,概述

掉帧,即每个vsync信号到来时,应用无法送帧(doFrame太长)或者SurfaceFinger无法合成帧,导致对应进程视图缓冲变0,出现的抖动现象。此时,便需要应用开发进行性能分析,定位问题根源。

2,基本概念

分析掉帧之前,必须得知道几个基本概念,包括cpu状态,SurfaceFinger,SurfaceFinger缓冲区,RenderThread

1,进程cpu状态

此处我们以Settings滑动场景来抓取trace,图中框住的部分即process state,

大致是以上5个,

1,Sleeping,说明当前进程没有得到调度,通常出现在binder场景,即没有执行任何逻辑代码,回调等场景。

2,Running,这是process得到调度的状态,此时的running时长即应用逻辑执行时长,

3,Runnable,即将调度到running前的一个状态,如果此状态太长,说明系统正在执行优先级更高的任务,

4,Uniterr


http://www.mrgr.cn/news/98535.html

相关文章:

  • 利用pnpm patch命令实现依赖包热更新:精准打补丁指南
  • hadoop执行sqoop任务找不到jar
  • HTTP HTTPS RSA
  • idea如何使用git
  • MCP服务,阿里云百炼,Cline,mysql-mcp-server,MCP通信原理
  • 【HD-RK3576-PI】定制用户升级固件
  • GPIO _OUTPUT-NORMAL 模式
  • OpenAI发布GPT-4.1系列模型——开发者可免费使用
  • XSS漏洞及常见处理方案
  • 旅游特种兵迪士尼大作战:DeepSeek高精准路径优化
  • C++进程间通信开发实战:高效解决项目中的IPC问题
  • WINUI——Background颜色使用小结
  • Java EE(8)——线程安全总结(翻新版)——定时器(Timer)线程池(ThreadPoolExecutor)
  • Linux中信号的保存
  • 阿里FPGA XCKU3P开箱- 25G 光纤
  • 【CUDA 】第3章 CUDA执行模型——3.5循环展开(3)
  • 音视频小白系统入门笔记-0
  • 【强化学习漫谈】3.RLHF:从Reward Model到DPO
  • 代码随想录算法训练营Day30
  • C#中async await异步关键字用法和异步的底层原理