Illustration by Virginia Poltrack

Now in Android #44

Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.

For those who would rather watch/listen

Jetpack Compose 1.0 🎶

Jetpack Compose, Android’s modern, native UI toolkit is now stable and ready for you to adopt in production. It interoperates with your existing app, integrates with existing Jetpack libraries, implements Material Design with straightforward theming, supports lists with Lazy components using minimal boilerplate, and has a powerful, extensible animation system. You can learn more about working with Compose in the Compose learning path and see where we’re going in future Compose releases in the Compose roadmap.

Android Studio Arctic Fox 🦊

Android Studio Arctic Fox is now available in the stable release channel. Arctic Fox brings Jetpack Compose to life with Compose Preview, Deploy Preview, Compose support in the Layout Inspector, and Live Editing of literals. Compose Preview works with the @Preview annotation to let you instantly see the impact of changes across multiple themes, screen sizes, font sizes, and more. Deploy Preview deploys snippets of your Compose code to a device or emulator for quick testing. Layout inspector now works with apps written fully in Compose as well as apps that have Compose alongside Views, allowing you to explore your layouts and troubleshoot. With Live Edit of literals, you can edit literals such as strings, numbers, booleans, etc. and see the immediate results change in previews, the emulator, or on a physical device — all without having to compile.

In addition to the Compose-related updates, Arctic Fox includes a new assistant to help pair Wear OS emulators with virtual or physical devices, the new Background Task inspector to visualize, debug, and monitor your app’s WorkManager background workers, support for StateFlow in Data Binding, a responsive layout template, support for the latest Google TV remote control features, and much more.

User control, privacy, security, and safety 📜

Play announced new updates to bolster user control, privacy, and security. The post covered advertising ID updates, including zeroing out the advertising ID when users opt out of interest-based advertising or ads personalization, the developer preview of the app set ID, enhanced protection for kids, and policy updates around dormant accounts and users of the AccessibilityService API.

Play also announced additional details about the upcoming Google Play safety section. It gives you a place to share what data your app collects, why the data is collected, and how the data is used. We also covered the target timeline for the rollout of the safety section, and when you’ll need to have your app’s information ready.

MAD Skills: Performance ⏲️

The MAD Skills series continues with more technical content about modern Android development.

This week continues Performance, which covers how to use both system tracing and sampling profiling to debug performance issues in apps.

Carmen has released two more episodes. The first episode dives deeper into system trace profiling within Android Studio with a detailed walkthrough of app startup performance.

MAD Skills: Using Systrace in Android Studio

The second episode focuses on how to use sampling profiling —specifically stack sampling — in tandem with system tracing to get more detailed information about performance problems.

MAD Skills: Performance — Systrace + sampling profiling

But Wait, There’s More MAD content!

For ongoing content, be sure to check the MAD Skills playlist on YouTube, the articles on Medium, or this handy landing page that points to all of it.

AndroidX Releases 🚀

Most of the AndroidX library releases had to do with Jetpack Compose. One interesting one that’s only tangentially related to compose is the Profile installer, which allows libraries and applications to define “Profile Rules” and bundle ART profile information with an APK, where it can be utilized to improve application performance.

Documentation/Codelabs 🆕

The release of Compose 1.0 came with a lot of new documentation and codelabs:

  • Why adopt Compose — Read about the different partners who experienced the benefits of Compose first hand and shared some of their takeaways with us.
  • Adding Compose to your app — Learn the basics about how to start using Compose in an existing View-based app.
  • Architectural layering — Learn about the architectural layers that make up Jetpack Compose, and the core principles that informed its design.
  • Developer ergonomics — Learn how migrating to Compose can affect your app’s APK size and runtime performance.
  • Semantics — Learn about the Semantics tree, which organizes your UI in a way that can be used by accessibility services and the testing framework.
  • CompositionLocal — Learn how to use CompositionLocal to pass data through the Composition.
  • Alignment lines in Compose — Learn how to create custom alignment lines to precisely align and position your UI elements.
  • List of modifiers — The list of Compose modifiers and the scopes they can be used with.
  • Compose in RecyclerView — Learn how to use Compose in RecyclerView items optimally.
  • Advanced State and Side Effects codelab — Learn how to create a state holder for stateful composables whose logic isn’t trivial, how to create coroutines and call suspend functions from Compose code, and how to trigger side effects to accomplish different use cases.

ADB Podcast Episodes 🎧

There has been one new episode of Android Developers Backstage posted since the last Now in Android.

ADB released episode #171, part of our continuing series on Jetpack Compose. In this episode, Nick and Romain are joined by Filip Pavlis, Jelle Fresen & Jose Alcérreca to talk about Testing in Compose. They discuss how Compose’s testing APIs were developed hand-in-hand with the UI toolkit, making them more deterministic and opening up new possibilities like manipulating time. They go on to discuss the semantics tree, interop testing, screenshot testing and the possibilities for host-side testing.

Now then… 👋

That’s it for this time, with Jetpack Compose 1.0, Android Studio Arctic Fox, new episodes from the MAD Performance series, and Privacy, Security, & Safety updates. Go enjoy the new Jetpack Compose release, and come back here soon for the next update from the Android developer universe.

--

--

Daniel Galpin
Android Developers

Developer Advocate at Google, writer, editor, theatrical performer, and social dancer.