Learn about how to read composition traces, fix heavy compositions, excessive recompositions and more in our #googleio workshop.
@mlykotom and I will guide you through our latest Compose codelab!
🇨🇿🇵🇱
Android DevRel @Google working on performance:
• Baseline Profiles
• Benchmarking
The Jetpack Compose team is looking for a product manager to focus on performance.
https://www.google.com/about/careers/applications/jobs/results/79120259530793670/
RT @canopas_eng
Wanna learn something new in the #Android? Check out our weekly post on the Android stack.
https://blog.canopas.com/android-stack-weekly-issue-61-c3ade9159815
Featuring @mlykotom @hitherejoe @ClouddJR @JorgeCastilloPr @2307vivek @kashif_mehmood_ @CharfaouiYounes @AndroidDev
Check out how to enable Modifier.testTag to easily access composables from UI tests. 🤖
It makes writing Baseline Profiles generators and macrobenchmarks easier!
https://medium.com/androiddevelopers/accessing-composables-from-uiautomator-cf316515edc2
androidx.benchmark 1.2.0-alpha10 was released today with a highly requested feature - starting with Android 14 (now in preview), Macrobench will no longer reinstall or clear app data as part of recompiling an app. You can just login once, and benchmark repeatedly. https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0-alpha10
3️⃣ Rules in a different folder
You can set custom folder(s) within your build.gradle(.kts).
For example, if you generate rules on CI, you can skip committing the rules into VCS and reference a folder instead.
2️⃣ Generated and manually written rules
If some code isn't pre-compiled and it's hard to write a generator to catch it, you can manually specify it in a custom file without worrying it would be overwritten.
Check the ADS talk for how to verify results: https://youtu.be/yJm5On5Gp4c
1️⃣ Rules per build variant
You can define the rules in these files:
- src/main/baseline-prof.txt (same as before)
- src/main/baselineProfiles/*.txt
- src/[variant]/baselineProfiles/*.txt
This is useful for variants that triggers different code, for example free vs paid app.
🆕 Baseline Profiles Improvements 🆕
AGP 8.0.0-alpha10+ brings support for multiple Baseline Profiles files within your project.
Unlocked opportunities:
1️⃣ Rules per build variant
2️⃣ Generated and manually written rules
3️⃣ Rules in a different folder
👇🏻More in the thread👇🏻
New version of UiAutomator was released yesterday!
Release notes ➡️ https://d.android.com/jetpack/androidx/releases/test-uiautomator#2.3.0-alpha02
Using a Baseline Profile frees up the JIT thread pool. This is a quick way to verify effectiveness. You can see that in Android Studio Profilers. Check out the ADS session "Making apps blazing fast with Baseline Profiles" for more details and tips from @mlykotom and @rahulrav: https://www.youtube.com/watch?v=yJm5On5Gp4c
#AndroidDev #toolTip
The Performance Review episode of Android Developers Backstage is a great resource for system tracing and overall performance improvements. Very well put @tornorbye, Chet Haase and Carmen Jackson.
http://goo.gle/3zU2K9M
📣 #AndroidDev Help us make the Compose migration experience better! 📣
We're looking for input on how you approached migrating to Compose from Views. What worked, what didn't, and what are some opportunities to make the experience better. This'll help us prioritize and fill in the current gaps.
Reblogs are much appreciated.
Here's a quick highlight of #AndroidDev DevRel folks that you can already find on androiddev.social.
@alex_vanyo
@astamato
@ataulm
@caren
@crafty
@keyboardsurfer
@manuelvicnt
@mlykotom
@ppvi
@riggaroo
@ricknout