我正在努力查找android中每个活动的UI渲染时间。我知道可以用系统或性能分析性能。但问题是从这个巨大的图形中找到UI渲染部分。有人能帮我从systrace或perfetto中找到UI渲染时间吗。
系统跟踪包括设备上运行的所有进程的数据,因此首先需要找到相关进程。这里有几个地方可以让你开始:
- 您的应用程序进程。名称应该看起来像com.your.app。展开该进程,然后您希望关注主线程(与进程名称相同(和一个名为RenderThread的线程。Android Studio中RenderThread和主线程的屏幕截图
- SurfaceFlinger过程。这是一个在Android设备上运行的进程,负责将曲面合成到显示器上。展开该进程并查找其主线程和无数计数器(例如VSYNC、SurfaceView(,以帮助您解决渲染问题。Perfetto中SurfaceFlinger计数器的屏幕截图
要确切了解UI渲染问题的原因,需要了解应用程序的工作原理和一些尝试和错误。这些视频可能会对您有所帮助:
- 使用Systrace进行性能分析:https://youtu.be/9kNhB_z704I
- 在Android Studio中使用系统跟踪解决应用程序性能问题(本期关注安卓工作室(:https://youtu.be/EjmIit_amnE
- 调试应用程序性能(这个有点旧,仍然使用旧的systrace工具(:https://youtu.be/qXVxuLvzKek