Video není dostupné.
Omlouváme se.
Troubleshooting app performance issues with System Trace in Android Studio
Vložit
- čas přidán 17. 08. 2024
- App performance issues can be difficult to track down. System Trace is a powerful tool in Android Studio that can help you understand how your app’s code interacts with system resources. We recently improved System Trace to make it more usable and helpful. In this video, we'll show you how to troubleshoot performance issues with System Trace by walking through a demo and impart some tips and tricks for making the most out of the tool.
Time stamps:
0:27 System Trace Overview
2:59 Demo starts
3:56 How to capture a System Trace in AS
4:35 Navigating a trace in AS
11:06 Adding Custom Events to your app's code
13:01 How to enable System Trace on app start-up
Resources:
What’s New in Android Studio System Trace → goo.gle/39clMtw
Download Android Studio Beta → goo.gle/2WDUPtM
Send feedback → goo.gle/3jmddRC
System Trace Documentation → goo.gle/3eHf4wJ
How to define custom events → goo.gle/30xJWdZ
IOSched app on Github → goo.gle/3jmdvrG
Android Graphics Inspector → goo.gle/3fR2hJC
Check out the 11 Weeks of Android website → goo.gle/30FDT8S
Related Playlists:
Android Developer Tools - 11 Weeks of Android playlist → goo.gle/androi...
11 Weeks of Android playlist → goo.gle/androi...
Subscribe to Android Developers → goo.gle/Androi...
Speaker:
Yi Yang
#featured #android11 #11WeeksOfAndroid
0:27 System Trace Overview
2:59 Demo starts
3:56 How to capture a System Trace in AS
4:35 Navigating a trace in AS
11:06 Adding Custom Events to your app's code
13:01 How to enable System Trace on app start-up
🤘
Excellent content and tool, will give it a try now as we are struggling with performance on some very specific phones that are not even low-end.
Very nice useful, safe and secure teachings about Android devices
Thank you so much for the positive feedback, Ravinder 😀
Be sure to check out the links in the description for even more tips and tutorials!
HUMBLE SYMMARY
System trace helps get the full picture of the app’s runtime performance by capturing performance data from all of your layers.
Can optional define custom events to instrument your app code to tie up functionality with the rest of all the data. In a nutshell System Trace is a tool that allows how your app interacts with system resources.
The process is kind of:
1. Run profiler
2. Select area of interest
3. Can correlate what the code is doing with the instrumentation framework
4. Check the top-down tree view and can see the exact times of these trace events
Also you can check the start app performance Run/Debug configurations -> start this recording at start up -> Trace system calls
Thanks for this great video. This was very useful and the tutorial we were really missing I think.
Great Simple video with nice explanation! Thanks
Amazing! you just helped me to fix a bug
It would be great if the Android Studio System Trace adds more information such as SurfaceView or SurfaceTexture like the Old systrace tools do
@Android Developers, @Yi Yang
@@yichu1782 SurfaceView in the old systrace actually represents the depth of BufferQueue, so in Android Studio 4.2 we added a BufferQueue track in the Display section. As for SurfaceTexture, I'm actually not familiar with what it represents in the old systrace. Can you elaborate?
Good job bro @Yi Yang.
Does progress dialog causes frozen frames?
this will help me understand the performance
I learned a lot from this, thanks!
I cannot get option to new navigation gesture > I have latest Android 10 on my redmi note 8 pro handsets why but any problem
Some of the features are in Android Studio 4.1 Beta. Feel free to try it out: developer.android.com/studio/preview/
Awesome, more real world examples would be great
What could be a reason that Frames/SurfaceFlinger/VSYNC are empty for me? (Studio 4.1.3)
What's your device's API level? Frame data are available on Android O or later. SF and VSYNC are available on Android Q or later.
@@yiyang_google Android Q. I assume other prerequisites must be fulfilled, like vendor GPU driver supporting some features, no?
@@usabilist Can you open a bug by going to Help -> Submit Feedback? In the bug, upload your trace file (if you don't want the file to be public we can set up a shared folder) so we can investigate. Thanks!
@@yiyang_google Sorry do not think it is possible, it is a closed project behind NDA. I hoped to understand more what is required to enable those features but if you do not have the answer we should stop.
@@usabilist I understand. Another place to check is the main thread in the Threads section. If you can't find Choreographer#doFrame events in the call chart, it might explain why Frames is empty for you. That could mean either your app is not using Choreographer, or the OEM has a custom implementation.
Great tool and explanation.
@Yi Yang great work!
Great Video!
Thank you very much, Mohamed! We're glad you have enjoyed the video. If you'd like to learn additional resources, check out the System Tracing documentation here: goo.gle/3T8JHke
Happy learning 😁
Great Video. Thank you so much.
Great tool!
please offer your demo code.
Is it possible to convert the trace to an automation friendly format?
such as JSON?
After the loading the trace all you can do is look at it. You can't even copy the node names on the clipboard
is it possible to somehow be able to export the parsed trace to JSON or something?
It could help with analytics of current and previous performance by comparing traces programmatically
Thank you for the feedback. A trace file contains a huge amount of data so we need to understand exactly what information is useful for export. Can you open a feature request here (issuetracker.google.com/issues/new?component=192708&template=840533) and elaborate on the kind of data you're interested in? Thanks!
Meanwhile, Perfetto (perfetto.dev/docs/quickstart/trace-analysis) provides a SQL like interface for querying certain data from a system trace (also works on trace files captured in Android Studio), see if it helps in your case.
10:57 [INAUDIBLE] translates to "app code"
great video
keep repeating the video and still dont know how to start profiler here @_@
To start profilers in Android Studio, choose View > Tool Windows > Profiler or click Profile in the toolbar. Here is the official doc to Android Studio profilers: developer.android.com/studio/profile/android-profiler. What this video focuses on, System Trace, is in the CPU profiler.
Why do I understand this. I'm a pharmacist for Gods sake. 😅
Now I will go destroy my phones operating system...wish me luck!