Now in Android #93 : Android 14 Release Edition

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

Most of the content of this post is available in the form of a video or podcast, so feel free to watch or listen rather than read on. (Or do all three to help you remember! There won’t be a quiz.)

Android 14 is released to consumer devices and live in AOSP 🎉

We released Android 14 and pushed the Android 14 source to the Android Open Source Project (AOSP). Thank you again for taking part in our developer preview and beta programs, sharing your feedback, and making sure your apps deliver a great experience on Android 14.

The post covers some of the impact of performance and efficiency changes in Android 14; it explained how freezing cached applications, optimizing broadcasts, and reducing the memory footprint of ART code allowed Android to increase long-standing limits around cached applications, leading to fewer cold starts; fewer cold starts means faster app launches that use less power.

It also covers key Android 14 behavior changes to test against, such as non-linear font scaling to 200%, secure full-screen Intent notifications, and exact alarms being denied by default. It also mentions granting partial access to photos and videos, and recommends using the new READ_MEDIA_VISUAL_USER_SELECTED permission to optimize the user experience.

The blog goes through new Android 14 capabilities, such as dynamic per-app language preferences, regional preferences, the Grammatical Inflection API, Ultra HDR images, upgraded Camera Extensions, lossless USB audio, drawing with custom meshes, the Canvas HardwareBufferRenderer, sharesheet custom actions + improved ranking, new cross-activity and cross-task predictive back system animations, and more. It also includes updates in Android 14 that are available to apps running on earlier Android releases, such as support for OpenJDK 17, Credential Manager (with Passkeys), and Health Connect.

Finally, the post covered the Android SDK upgrade assistant within Android Studio, and how to use it to assist you in updating your app for the latest targetSDK version.

Wear OS 4 is now available on Google Pixel Watch 2! 🎇

We announced that the Pixel Watch 2 is here and it ships with Wear OS 4, joining the Samsung Galaxy Watch 4, 5, and 6 series devices on the platform. The first gen Pixel Watches will receive a system update to Wear OS 4 over the coming weeks in phases depending on carrier and device. Wear OS 4 includes the declarative XML Watch Face Format, supports transferring data from one Wear OS watch to another using cloud backup and restore, allows users to transfer their watch to a new phone without needing to perform a factory reset, offers enhanced capabilities for tiles, and more.

Wear OS 3 is based on Android 11, while Wear OS 4 is based on Android 13, so your app will need to handle system behavior changes that took effect in Android 12 and Android 13; make sure to review the behavior changes and learn how to interact with new features. We’ve also released updated 64-bit only system images for Wear OS emulators starting in Android Studio Hedgehog to help you test your apps on Wear OS 4.

Gestures in Jetpack Compose 🤟

Jolanda created a deep dive video around utilizing rich gestures in Jetpack Compose. It focuses on using gesture modifiers and gesture recognizers, beginning with a summary of the toolbox for pointerInput and its associated gesture recognizers, comparing and contrasting them to the clickable, combined clickable, draggable, scrollable, and transformable modifiers. It then goes through a guided tour of doing rich gesture interactions in Compose, demonstrating all the gesture patterns involved with a photo grid that allows for hold to select/multi-select, as well as a photo view that allows for zooming, panning, and tap-to-zoom.

Articles 📚

Chris covered Device Streaming in Android Studio, an early-access service powered by Firebase that allows you to manually interact with and test your app on real physical devices located in Google’s secure data centers directly from within Android Studio. Select the device you want, connect, and, in moments, you’ll have a direct ADB connection to the device, allowing you to use your favorite tools both within and outside of studio, such as Logcat, the debugger, Profilers, UI design tools, and more — just like you would with a local device. To learn more and register for the program, visit the sign-up page.

#WeArePlay covered the story of Solape & Yomi from Lagos, Nigeria and how their app HerVest empowers women by giving them greater access to financial services.

Videos 📹

We had some fun shorts hit the channel, including Building UIs for all form factors, a reminder that Jetpack Compose can be used to target phones, foldables, tablets, watches, and TVs — as well as laptops and PCs too.

We covered 3 reasons why you should use Jetpack WindowManager in your app right now:

  • WindowSize — With new display modes like multi-window, you should check how much window space is currently available to your app instead of using the device display size and then use the WindowSize classes to implement an adaptive layout.
  • Optimize for foldables — You can use the WindowInfoTracker to query the state, occlusionType, orientation, bounds of FoldingFeatures to implement things like tabletop mode
  • Showing two activities side by side — The library also provides you the ActivityEmbedding APIs to implement things like List/Detail layout with minimal code changes but embed an activity from another app into yours, so. your users can perform other tasks without losing context.

Future releases plan to add APIs for concurrent display modes, for example, to take selfies using the better rear camera.

Finally, we covered when to use Google Pay vs. Google Play billing. Google Play’s billing system is a service that enables you to sell digital products and content in your Android app, while Google Pay billing covers other things your app might sell like physical content.

Android Jetpack (AndroidX) Releases 🚀

We had several launches in Android Jetpack:

Browser 1.7 alpha01 added a bunch of new APIs providing more control around CustomTabs, including enabling the bookmarks and download button in the overflow menu, enabling sending initial URLs to external handler apps, specifying the target language the Translate UI should be triggered with, and more.

Collection 1.4 alpha01 added high-efficiency collections such as ScatterMap, ScatterSet, and ObjectList that combine low allocation overhead with high performance, along with collections that store primitives without boxing.

You can see all the AndroidX release notes here.

Now then… 👋

That’s it for this week with the launch of Android 14, Wear OS 4 and the release of Pixel Watch 2, Jetpack Compose Gestures, Android Studio Device Streaming, Browser + Collection updates, and more!

Check back soon for your next update from the Android developer universe! 💫

--

--

Daniel Galpin
Android Developers

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