World class Android Developers read our newsletter to remain sharp 👉🏻 https://www.jetpackcompose.app/newsletter
You can now enable automated accessibility checks directly in your Espresso tests:
That's it. No more manual a11y audits.
#AndroidDev #JetpackCompose
You can now enable automated accessibility checks directly in your Espresso tests:
That's it. No more manual a11y audits.
#AndroidDev #JetpackCompose
But the coolest feature? A modifier that tracks visibility WITHOUT killing your performance.
Thread on onLayoutRectChanged 🧵
#AndroidDev #JetpackCompose
But the coolest feature? A modifier that tracks visibility WITHOUT killing your performance.
Thread on onLayoutRectChanged 🧵
#AndroidDev #JetpackCompose
Square just moved Anvil to maintenance mode to adopt Metro - a DI framework built by ONE PERSON that's 47-56% faster than Dagger+Anvil.
This is what "individual developers changing ecosystems" looks like 🧵
#AndroidDev
Let that sink in.
Companies building SDKs FOR Java developers chose Kotlin as the implementation language.
The Kotlin takeover is real 🫡
#AndroidDev
Let that sink in.
Companies building SDKs FOR Java developers chose Kotlin as the implementation language.
The Kotlin takeover is real 🫡
#AndroidDev
Square just moved Anvil to maintenance mode to adopt Metro - a DI framework built by ONE PERSON that's 47-56% faster than Dagger+Anvil.
This is what "individual developers changing ecosystems" looks like 🧵
#AndroidDev
Square just moved Anvil to maintenance mode to adopt Metro - a DI framework built by ONE PERSON that's 47-56% faster than Dagger+Anvil.
This is what "individual developers changing ecosystems" looks like 🧵
#AndroidDev
Square just moved Anvil to maintenance mode to adopt Metro - a DI framework built by ONE PERSON that's 47-56% faster than Dagger+Anvil.
This is what "individual developers changing ecosystems" looks like 🧵
#AndroidDev
You can only scope to Activity or navigation graphs, but Compose wants fine-grained components.
Enter Resaca - the library that fixes this beautiful mess 🧵
#AndroidDev #JetpackCompose
You can only scope to Activity or navigation graphs, but Compose wants fine-grained components.
Enter Resaca - the library that fixes this beautiful mess 🧵
#AndroidDev #JetpackCompose
You can only scope to Activity or navigation graphs, but Compose wants fine-grained components.
Enter Resaca - the library that fixes this beautiful mess 🧵
#AndroidDev #JetpackCompose
You can only scope to Activity or navigation graphs, but Compose wants fine-grained components.
Enter Resaca - the library that fixes this beautiful mess 🧵
#AndroidDev #JetpackCompose
The bug: LazyColumn prefetches items OUTSIDE the viewport. So LaunchedEffect fires when items are COMPOSED, not when they're VISIBLE.
With the new August '25 prefetching APIs, you'll log impressions for things users never see!
#AndroidDev #JetpackCompose
This code logs impressions for list items. But with Compose's new prefetching APIs, there's a subtle bug lurking.
Can you spot it? Drop your answer below 👇
#AndroidDev #JetpackCompose
The bug: LazyColumn prefetches items OUTSIDE the viewport. So LaunchedEffect fires when items are COMPOSED, not when they're VISIBLE.
With the new August '25 prefetching APIs, you'll log impressions for things users never see!
#AndroidDev #JetpackCompose
This code logs impressions for list items. But with Compose's new prefetching APIs, there's a subtle bug lurking.
Can you spot it? Drop your answer below 👇
#AndroidDev #JetpackCompose
This code logs impressions for list items. But with Compose's new prefetching APIs, there's a subtle bug lurking.
Can you spot it? Drop your answer below 👇
#AndroidDev #JetpackCompose
But I'm convinced most don't know the performant alternative for background().
Thread on a Compose optimization that'll make your animations buttery smooth 🧈👇
But I'm convinced most don't know the performant alternative for background().
Thread on a Compose optimization that'll make your animations buttery smooth 🧈👇
But I'm convinced most don't know the performant alternative for background().
Thread on a Compose optimization that'll make your animations buttery smooth 🧈👇
But I'm convinced most don't know the performant alternative for background().
Thread on a Compose optimization that'll make your animations buttery smooth 🧈👇
Every minute shaved off = less CO2, cooler laptops, and happier devs.
We don't make the rules 🌍
Every minute shaved off = less CO2, cooler laptops, and happier devs.
We don't make the rules 🌍
Add ONE line to gradle.properties and watch your APK shrink by 50%+
That's it. Google's new optimized resource shrinking finally unifies code and resource optimization. R8 can now trace references across the DEX-resource boundary.
Add ONE line to gradle.properties and watch your APK shrink by 50%+
That's it. Google's new optimized resource shrinking finally unifies code and resource optimization. R8 can now trace references across the DEX-resource boundary.
If you haven't subscribed yet, you know what to do - www.jetpackcompose.app/newsletter
#AndroidDev
If you haven't subscribed yet, you know what to do - www.jetpackcompose.app/newsletter
#AndroidDev
If you'd like it in your inbox 👉🏻 www.jetpackcompose.app/newsletter
#AndroidDev
If you'd like it in your inbox 👉🏻 www.jetpackcompose.app/newsletter
#AndroidDev
www.jetpackcompose.app/supporters
#AndroidDev
www.jetpackcompose.app/supporters
#AndroidDev
I recently learnt that Buffer publishes all employee (yes, every single employee!!) salaries in a public spreadsheet 🤯
We are not joking, take a look...
#AndroidDev
I recently learnt that Buffer publishes all employee (yes, every single employee!!) salaries in a public spreadsheet 🤯
We are not joking, take a look...
#AndroidDev
We all use UUIDs (Universally Unique Identifiers) constantly, right? They're great for generating unique IDs for database records, tracking requests, whatever
But they have one annoying limitation..... 🙄
#AndroidDev
We all use UUIDs (Universally Unique Identifiers) constantly, right? They're great for generating unique IDs for database records, tracking requests, whatever
But they have one annoying limitation..... 🙄
#AndroidDev
August ’25 Compose may be skewing your analytics—invisible items can now precompose.
Here's how to fix it. 🧵
#AndroidDev
August ’25 Compose may be skewing your analytics—invisible items can now precompose.
Here's how to fix it. 🧵
#AndroidDev
🙋🏻♂️ Raise your hand if you've ever looked at your code coverage report and thought, "How do I have 800 lines of untested code in my UI module?" Only to realize it's all those Preview functions
#AndroidDev
🙋🏻♂️ Raise your hand if you've ever looked at your code coverage report and thought, "How do I have 800 lines of untested code in my UI module?" Only to realize it's all those Preview functions
#AndroidDev
It's not every day that Amazon open-sources a framework.
Meet App Platform: a lightweight, opinionated framework for state and memory management across Kotlin Multiplatform
#AndroidDev
It's not every day that Amazon open-sources a framework.
Meet App Platform: a lightweight, opinionated framework for state and memory management across Kotlin Multiplatform
#AndroidDev
Use this command:
`adb shell screenrecord --bugreport`
It records your app WITH frame-timing overlays. It’s like a slow-mo referee for your UI. 🕵️♂️
#AndroidDev
Use this command:
`adb shell screenrecord --bugreport`
It records your app WITH frame-timing overlays. It’s like a slow-mo referee for your UI. 🕵️♂️
#AndroidDev
www.jetpackcompose.app/newsletter/d...
#AndroidDev
www.jetpackcompose.app/newsletter/d...
#AndroidDev