Google released Android Q beta along with a preview SDK for developers, yesterday. Android Q beta is available for any Pixel device, including the first-gen Pixel and Pixel XL. Also, Google has given no clue about which Q-named snack the operating system will be named after.
Android Q developer Beta explores a number of additional privacy and security features for users such as Google Play Protect and runtime permissions. Android Q beta also includes other features such as new APIs for connectivity, new media codecs, camera capabilities, NNAPI (Neural Networks API) extensions, Vulkan 1.1 support, and faster app startup, among others.
What’s new in Android Q beta?
More control over apps
Android Q offers users more control when apps can get the location. Android Q allows users to give apps permission that makes sure it never tracks their location. It only allows the app to see user location when the app is running or when it is open in the background.
More privacy protections
Users can control apps’ access to the Photos and Videos or the Audio collections with the help of new runtime permissions. In the case of Downloads, apps use the system file picker, which allows the users to decide the download files that the app can access. There are also other changes for developers that allow them to figure out how these apps can use shared areas on external storage.
Foldables and innovative new screens
Android Q brings changes to onResume and onPause that enables support for multi-resume and notifies your app when it has focus. The resizeableActivity manifest attribute has also been changed to help users better manage how the app is displayed on foldable and large screens.
Android Q comes with a new feature called Sharing Shortcuts that allows the users to jump directly into another app to share content. It allows the developers to publish share targets that launch a specific activity in their apps. These share targets are also shown to the users in the share UI. Google has also expanded the ShortcutInfo API to make the integration of both features easier.
There’s a new Settings Panel API, which makes use of the Slices feature in Android 9 Pie.A settings panel is a floating UI and shows the system settings that users might need, such as internet connectivity, NFC, and audio volume.
Connectivity permissions, privacy, and security
Google has increased the protection on Android Q, for Bluetooth, Cellular, and Wi-Fi by requiring the FINE location permission instead. Google has also added new Wi-Fi standard support, WPA3, and Enhanced Open. This improves security for home, work networks as well as open/public networks
Improved internet connectivity
Wi-Fi stack has been refactored on Android Q to improve privacy, performance, and common use-cases such as managing IoT devices and suggesting internet connections without location permission. These network connection APIs make it easier to manage IoT devices over local Wi-Fi, for peer-to-peer functions like configuring, downloading, or printing.
Wi-Fi performance mode
Users can request adaptive Wi-Fi in Android Q by allowing high performance and low latency modes. These are highly beneficial for cases where low latency is important to the user experience including real-time gaming, active voice calls, and similar use-cases.
Dynamic depth format for photos
Apps can request a Dynamic Depth image in Android Q consisting of a JPEG, XMP metadata related to depth related elements. Requesting for a JPEG + Dynamic Depth image makes it possible for the users to offer specialized blurs and bokeh options in your app. Users can also use the data to create 3D images or support AR photography use-cases in the future.
New audio and video codecs
Android Q comes with support for the open source video codec AV1. This allows media providers to stream high-quality video content on Android devices that use less bandwidth. Android Q also supports audio encoding using Opus i.e. a codec optimized for speech and music streaming, along with HDR10+ for high dynamic range video.
There’s also a MediaCodecInfo API which allows users to determine the video rendering capabilities of an Android device.
Native MIDI API
Android Q introduces a native MIDI API for apps that perform audio processing in C++. It allows users to communicate with MIDI devices through the NDK. This API also allows MIDI data to be retrieved inside an audio callback with the help of a non-blocking read, enabling low latency processing of MIDI messages.
ANGLE on Vulkan
Google developers are working on adding experimental support for ANGLE on top of Vulkan in Android Q. ANGLE refers to a graphics abstraction layer that is designed for high-performance OpenGL compatibility across implementations. Google is also planning to add support for OpenGL ES 2.0, with ES 3.0 in Android Q.
Neural Networks API 1.2
Google has added 60 new ops including ARGMAX, ARGMIN, quantized LSTM, in Android Q, alongside a range of performance optimizations. Google is also working with hardware vendors and popular machine learning frameworks such as TensorFlow to optimize and enable support for NNAPI 1.2.
Android Q offers a range of new improvements to the ART runtime that helps the apps start faster and consume less memory. Since Android Nougat, ART has provided Profile Guided Optimization (PGO), that helps speed up the app startup over time by identifying and precompiling the frequently executed parts of your code.
Also, to aid with the initial app startup, Google Play can now deliver the cloud-based profiles along with APKs. These cloud-based profiles allow ART to pre-compile parts of your app even before it’s run. This enhances the overall optimization process.
Other features include extended support for passive authentication methods in Android Q. These methods include the face and adding implicit and explicit authentication flows. Android Q also adds support for TLS 1.3, which is a major revision to the TLS standard that includes performance benefits and enhanced security.
For more information, check out the official Android Q blog post.