Thank you for sharing your information with the world, specially countries which doesn't have facilities for developers. You are the best developer and lecturer in the world.
Use jetpack compose because implementation of recycler list is easier. Performance slow: no worries write more code(baseline profiles), even more than you would have written for recycler view in XML views
Baseline profiles make a big difference for XML and Compose apps. It's actually very interesting how this works under the hood I reccomend watching the talk from the developer summit.
And don't forget that BaselineProfileRule is experimental. 🙃 So good to see that after a year in release, jectpack is composing uses so much stuff not ready for production.
If I have no Baselineprofile added, partial still gives better Results than None. None is not really good to compare against, as any App in Play Store uses partial. If you disable Baseline Profile from partial compilation Mode + Warm-up Iterations, its Always faster than Baseline....I dont get it. If I do require, it does throw no Error, even If no File was added. Help
Hey Philipp, I create a swipable tab row using horizontal pager with jetpack compose according to your video, My I have total 3 tabs, my second and third tabs has lots of composable files, when user swipe the tabs, the swipe performance is really bad, which is ruining my app performance. Can I get benefit from baseline profile? Please help. Love and respecet from Bangladesh.
I implemented baseline profile in my app(Using latest versions), it is showing some improvement when we run benchmark, but no improvement I can see on play console numbers for cold startup time in my production app. Any idea?
👍Thnx for the vid. Very very helpful indeed. In case anyone is getting the following log error when executing the Scrolling tests in their emulator: "...NullPointerException: Attempt to invoke virtual method 'void androidx.test.uiautomator.UiObject2.click()' on a null object reference" Inserting a delay instruction right above the click attempt should fix it. Like this: device.wait(Until.hasObject(By.text("Element 29")), 2000) //
hey philip i am getting this error when i am trying to build the application could you please help me out Cannot locate tasks that match ':benchmark:pixel2Api31BenchmarkAndroidTest' as task 'pixel2Api31BenchmarkAndroidTest' not found in project ':benchmark'.
noticed that the slack app on your Pixel does not have the Material You theming applied to it as the other apps do, update it to the latest version, they've added the support for it now 🙂 Hope all apps add it gradually, applying the palette and seeing some apps not opting in for it feels like an eyesore 😅
Thanks for this video! I found out that the next first one is faster although it is without the baseline profile? any idea? @Test fun startupCompilationPartialWithoutBaselineProfiles() = startup( CompilationMode.Partial( baselineProfileMode = BaselineProfileMode.Disable, warmupIterations = 1 ) ) @Test fun startupCompilationPartialWithBaselineProfiles() = startup(CompilationMode.Partial(baselineProfileMode = BaselineProfileMode.Require))
I implemented baseline profile in my app(Using latest versions), 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?
Hey Philipp, when i am trying to run the gradle script i am getting this error :benchmark:pixel2Api31BenchmarkAndroidTest --rerun-tasks -P android.testInstrumentationRunnerArguments.class=xyz.teamgravity.benchmark.BaselineProfileGenerator can you pleaseee help me out
The thumbnail of this video is incredible 👏
Thank you!
Thank you for sharing your information with the world, specially countries which doesn't have facilities for developers. You are the best developer and lecturer in the world.
Thank you a lot for doing these videos. 🙏🏻 Performance tips are always very appreciated. 👍
Happy to help!
Thumbnail looks sickkkk....❤️❤️❤️
It was soo tempting that i have to click the video even if i dont want to watch it now.
You forgot to paste the gradle command for configuration in the description.
Spam Account
:benchmark:pixel2Api31BenchmarkAndroidTest --rerun-tasks -P android.testInstrumentationRunnerArguments.class=xyz.teamgravity.benchmark.BaselineProfileGenerator
life saver
Our king
Thank you Philipp!
Use jetpack compose because implementation of recycler list is easier.
Performance slow: no worries write more code(baseline profiles), even more than you would have written for recycler view in XML views
Baseline profiles make a big difference for XML and Compose apps. It's actually very interesting how this works under the hood I reccomend watching the talk from the developer summit.
And don't forget that BaselineProfileRule is experimental. 🙃
So good to see that after a year in release, jectpack is composing uses so much stuff not ready for production.
helpful video to measure the performance of app.. highly benefit video ✌✌✌✌
Please Sir Make one video on This Topic👇
How To Prevent Recreation Of Fragments While Navigating Back And Forth
I cannot find the string for the build.configuration in your description!
If I have no Baselineprofile added, partial still gives better Results than None. None is not really good to compare against, as any App in Play Store uses partial. If you disable Baseline Profile from partial compilation Mode + Warm-up Iterations, its Always faster than Baseline....I dont get it. If I do require, it does throw no Error, even If no File was added. Help
Hey Philipp, I create a swipable tab row using horizontal pager with jetpack compose according to your video, My I have total 3 tabs, my second and third tabs has lots of composable files, when user swipe the tabs, the swipe performance is really bad, which is ruining my app performance. Can I get benefit from baseline profile? Please help. Love and respecet from Bangladesh.
Where is the task that you mention it in this video?
I implemented baseline profile in my app(Using latest versions), it is showing some improvement when we run benchmark, but no improvement I can see on play console numbers for cold startup time in my production app. Any idea?
👍Thnx for the vid. Very very helpful indeed.
In case anyone is getting the following log error when executing the Scrolling tests in their emulator:
"...NullPointerException: Attempt to invoke virtual method 'void androidx.test.uiautomator.UiObject2.click()' on a null object reference"
Inserting a delay instruction right above the click attempt should fix it. Like this:
device.wait(Until.hasObject(By.text("Element 29")), 2000) //
I got the following error: Task 'pixel2Api31BenchmarkAndroidTest' not found in project ':benchmark'. Thanks!
Please add the managed device configuration block in macrobenchmarks build.gradle
i have the same error. did you manage to fix it?
I had same problem and fixed it. I made mistake in path. It was wronge package name. I named it Macrobenchmark.
A question. How did the test know which txt file to use. Did you specify it anywhere?
Why cannot we pay in parcels your calories tracker app? For example the canvas course give us this possibility. Thanks.
you didn't add dependency on profile installer. Is it not required ?
did you mean 'How to boost your tests performance' cause we cant use Baseline Profiles in production ... can we?
No this is for your production app
@@PhilippLackner oh my god, i'm gonna cry
@@MrNDQuattro then cry
Thank you!
Very cool video thank you bro 👍👍👍
Hey how can I start another activity besides the launcher with startActivityAndWait() ?
hi #Philipp Lackner is it possible to add another language keyboard programmatically in the kotlin application ?
Bro please tell how to navigate to back screen using state change
Guys do you know whether it is possible to include multiple baseline profiles or just one? Can't find any information about it
did you got any solution?
hey philip i am getting this error when i am trying to build the application could you please help me out
Cannot locate tasks that match ':benchmark:pixel2Api31BenchmarkAndroidTest' as task 'pixel2Api31BenchmarkAndroidTest' not found in project ':benchmark'.
did you solve this issue?
hi, use
testOptions{
managedDevices{
devices{
create("pixel2Api31", ManagedVirtualDevice::class){
device = "Pixel 2"
apiLevel = 31
systemImageSource = "aosp"
}
}
}
}
@@seifmohamed8029 hi, use
testOptions{
managedDevices{
devices{
create("pixel2Api31", ManagedVirtualDevice::class){
device = "Pixel 2"
apiLevel = 31
systemImageSource = "aosp"
}
}
}
}
noticed that the slack app on your Pixel does not have the Material You theming applied to it as the other apps do, update it to the latest version, they've added the support for it now 🙂
Hope all apps add it gradually, applying the palette and seeing some apps not opting in for it feels like an eyesore 😅
I'm not sure what I'm doing wrong, but when I use "BLACK" it gives me the error: "Coupon not found or expired"
Sorry, please check again, there was a technical issue
@@PhilippLackner thanks. it worked.
Where's that long screen? 9:02
Thumbnail 🤌
147th...Thanks Philipp.
Thank you
Great opportunity for developers who do not have min required system
Thanks for this video!
I found out that the next first one is faster although it is without the baseline profile? any idea?
@Test
fun startupCompilationPartialWithoutBaselineProfiles() = startup(
CompilationMode.Partial(
baselineProfileMode = BaselineProfileMode.Disable,
warmupIterations = 1
)
)
@Test
fun startupCompilationPartialWithBaselineProfiles() =
startup(CompilationMode.Partial(baselineProfileMode = BaselineProfileMode.Require))
I implemented baseline profile in my app(Using latest versions), 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?
Hey Philipp, when i am trying to run the gradle script i am getting this error
:benchmark:pixel2Api31BenchmarkAndroidTest --rerun-tasks -P android.testInstrumentationRunnerArguments.class=xyz.teamgravity.benchmark.BaselineProfileGenerator
can you pleaseee help me out
hi, change this xyz.teamgravity.benchmark.BaselineProfileGenerator to your package name