Video není dostupné.
Omlouváme se.
Making apps blazing fast with Baseline Profiles
Vložit
- čas přidán 17. 08. 2024
- Baseline Profiles are a new way to dramatically improve app startup and runtime performance of apps and libraries. In this session, we will share how to create a Baseline Profile and verify its effectiveness. You will also discover how the Android Runtime improves app performance, when a Baseline Profile is provided on various Android platform versions.
Resources:
Baseline Profiles → goo.gle/baseli...
Improve app performance with Baseline Profiles → goo.gle/baseli...
Performance - MAD Skills playlist → goo.gle/perfor...
Inspect app performance with Macrobenchmark → goo.gle/benchm...
Speakers: Rahul Ravikumar, Tomáš Mlynarič
Watch more:
Watch all the Android Dev Summit sessions → goo.gle/ADS-All
Watch all the Modern Android Development sessions → goo.gle/ADS-MAD
Subscribe to Android Developers → goo.gle/Androi...
#Featured #AndroidDevSummit #Android
Is there availability to create more than one baseline profile? I ask this Q to know how to cover some journeys that are separated!
Currently we support only one file per Gradle module, but we're aware that's not enough! So stay tuned for future updates :)
As a workaround for now, you'd need to place all the rules into the one file.
Thanks for understanding.
@@mlykotom I implemented baseline profile in my app, it is showing some improvement when we run benchmark, but no improvement I can see on play console numbers for cold startup time. Any idea?
Please I really need to fix my GPAY I don't know if there is anything so that it can start function very well and also to start receiving payments
Hello! We're sorry to hear about this issue. Please try reaching out to Google Pay customer service by following this link: goo.gle/3YA2AiR
Is there any way for generating base profile for app which require GMS? I guess AOSP image doesn't have GMS installed. Rooting real device is not valid answer because of voiding varanty.
Try Jetpack Macrobenchmark 1.2.0-alpha06 that allows generating Baseline Profiles on devices running Android 13 (API level 33) without the root access.
Is it possible to store a profile inside a device to pull it from device farm later? Like I want to start a test somewhere in the cloud and download result after it finished
Yes. The profile is actually always saved on the device. You can specify a known folder with additionalTestOutputDir instrumentation argument.
My best platform in CZcams ☺️☺️☺️
I am an android devloper , When adaptive battery in my mobile is enabled means i cant see the performance improvement , time changes and even jit pool performance in Google pixel device and when the adaptive batter is disabled then i can see the time improvements and jit thread pool changes , is this the profiler bug or did i missed anything in the code
is baseline profiles available from android 7?
good explanation !
Where does the 40% result came from? I think 116ms / 406ms = 28'57%, isn't it?
I think thats not enough for understanding all principles of Baseline Profiles
Excellent
For the ones that believe that tests are futile excuses for mere mortals to appear smart? Really, if someone doesn't know/care to learn to write tests, why isn't there just a simple automated tool that does the job for ya? Adding references to every important piece of code in the entire codebase sounds kinda daunting, wouldn't you say?
Beautiful 😍
The great course
Great content!
How many user journeys i can create base profile?
For example
Dashboard > List > Detail
Say if detail screen has few other screen can i base profile that also.
Optimize those journeys you know/think are important for your app. Don't worry if you add those you mentioned.
There's no right or wrong answer here though.
If you'd cover all of the app, then you basically end up with full AOT, which can be slower, because can take longer to load the files from disk.
You can run benchmarks and compare
CompilationMode.None() = unoptimized (worst),
CompilationMode.Partial() = with Baseline Profiles (best)
CompilationMode.Full() = full AOT (should be better than None, but can be worse than Partial in bigger apps)
You can run benchmark for app startup with Baseline Profile that covers everything you want and then generate a profile that covers less journeys and see if it has negative effect on startup time. But that's fine tuning, so if you haven't started with it yet, don't worry.
@@mlykotom Thanks for the explanation
Maybe you can add the initial journey in baseline profile and all the other optimization when the app starts for the first time.
I don't know how to achieve this, just started Android development, let me know if you know how to do this.
@@niraj81 Follow their codelabs.
@@vengateshm2122 following one with the states now, they are the best
Perfect 😍
Wish i can be there on those empty seats
Saludos!!!!
I m here
India English