Android N is still in active development, but you can try it now as part of the N Developer Preview. The sections below highlight some of the new features for developers.
Multi Window Support ( Picture in Picture Support )
Users can now pop open two apps on the screen at once.
- On phones and tablets running Android N, users can run two apps side-by-side or one-above-the-other in splitscreen mode. Users can resize the apps by dragging the divider between them.
- On Android TV devices, apps can put themselves in picture-in-picture mode, allowing them to continue showing content while the user browses or interacts with other apps.
- Template updates: Android is updating notification templates to put a new emphasis on hero image and avatar. Developers will be able to take advantage of the new templates with minimal adjustments in their code.
- Bundled notifications: The system can group messages together, for example by message topic, and display the group. A user can take actions, such as Dismiss or Archive, on them in place. If you’ve implemented notifications for Android Wear, you’ll already be familiar with this model.
- Direct reply: For real-time communication apps, the Android system supports inline replies so that users can quickly respond to an SMS or text message directly within the notification interface.
- Custom views: Two new APIs enable you to leverage system decorations, such as notification headers and actions, when using custom views in notifications.
Profile-guided JIT ( Just in Time ) / AOT
Profile-guided compilation lets ART manage the AOT/JIT compilation for each app according to its actual usage, as well as conditions on the device. For example, ART maintains a profile of each app’s hot methods and can precompile and cache those methods for best performance. It leaves other parts of the app uncompiled until they are actually used.
Besides improving performance for key parts of the app, profile-guided compilation helps reduce an app’s overall RAM footprint, including associated binaries. This feature is especially important on low-memory devices.
ART manages profile-guided compilation in a way that minimizes impact on the device battery. It does precompilation only when then the device is idle and charging, saving time and battery by doing that work in advance.
One of the most tangible benefits of ART’s JIT compiler is the speed of app installs and system updates. Even large apps that required several minutes to optimize and install in Android 6.0 can now install in just a matter of seconds. System updates are also faster, since there’s no more optimizing step.
Doze on the Go
Hope all of you recall, Doze Mode was introduced in Android M. In Android N, Doze takes a step further and saves battery while on the go. Any time the screen is off for a period of time and the device is unplugged, Doze applies a subset of the familiar CPU and network restrictions to apps. This means users can save battery even when carrying their devices in their pockets.
A short time after the screen turns off while the device is on battery, Doze restricts network access and defers jobs and syncs. During brief maintenance windows, applications are allowed network access and any of their deferred jobs/syncs are executed. Turning the screen on or plugging in the device brings the device out of Doze.
Project Svelte : Background Optimization
Project Svelte is an ongoing effort to minimize RAM use by system and apps across the range of Android devices in the ecosystem. In Android N, Project Svelte is focused on optimizing the way apps run in the background.
Background processing is an essential part of most apps. When handled right, it can make your user experience amazing — immediate, fast, and context-aware. When not handled right, background processing can needlessly consume RAM (and battery) and affect system performance for other apps.
Over the life of a mobile device, the cost of a cellular data plan typically exceeds the cost of the device itself. For many users, cellular data is an expensive resource that they want to conserve.
Android N introduces Data Saver mode, a new system service that helps reduce cellular data use by apps, whether roaming, near the end of the billing cycle, or on a small prepaid data pack. Data Saver gives users control over how apps use cellular data and lets developers provide more efficient service when Data Saver is on.
When a user enables Data Saver in Settings and the device is on a metered network, the system blocks background data usage and signals apps to use less data in the foreground wherever possible — such as by limiting bit rate for streaming, reducing image quality, deferring optimistic precaching, and so on. Users can whitelist specific apps to allow background metered data usage even when Data Saver is turned on.
Vulkan API – 3D rendering API
Android N has integrated Vulkan™, a new 3D rendering API, into the platform. Like OpenGL™ ES, Vulkan is an open standard for 3D graphics and rendering maintained by the Khronos Group.
Vulkan is designed from the ground up to minimize CPU overhead in the driver, and allow your application to control GPU operation more directly. Vulkan also enables better parallelization by allowing multiple threads to perform work such as command buffer construction at once.
Quick Settings Tile API
Quick Settings is a popular and simple way to expose key settings and actions, directly from the notification shade.
Android N also adds a new API that lets you define your own Quick Settings tiles to give users easy access to key controls and actions in your app.
Quick Settings tiles are reserved for controls or actions that are either urgently required or frequently used, and should not be used as shortcuts to launching an app.
Android N now supports number-blocking in the platform and provides a framework API to let service providers maintain a blocked-number list. The default SMS app, the default phone app, and carrier apps can read from and write to the blocked-number list. The list is not accessible to other apps.
- Numbers blocked on calls are also blocked on texts
- Blocked numbers can persist across resets and devices through the Backup & Restore feature
- Multiple apps can use the same blocked numbers list
Additionally, carrier app integration through Android means that carriers can read the blocked numbers list on the device and perform service-side blocking for the user in order to stop unwanted calls and texts from reaching the user through any medium, such as a VOIP endpoint or forwarding phones.
Android N allows the default phone app to screen incoming calls. The phone app does this by implementing the new
CallScreeningService, which allows the phone app to perform a number of actions based on an incoming call’s
Call.Details, such as:
- Reject the incoming call
- Do not allow the call to the call log
- Do not show the user a notification for the call
Android TV Recording
Android N adds the ability to record and playback content from Android TV input services via new recording APIs. Building on top of existing time-shifting APIs, TV input services can control what channel data can be recorded, how recorded sessions are saved, and manage user interaction with recorded content.
Always on VPN
Device owners and profile owners can ensure that work apps always connect through a specified VPN. The system automatically starts that VPN after the device boots.
Users can also manually set Always on VPN clients that implement
VPNService methods in the primary user using Settings>More>Vpn.
Direct boot improves device startup times and lets registered apps have limited functionality even after an unexpected reboot. For example, if an encrypted device reboots while the user is sleeping, registered alarms, messages and incoming calls can now continue notify the user as normal. This also means accessibility services can also be available immediately after a restart.
Direct boot takes advantage of file based encryption in Android N to enable fine grained encryption policies for both system and app data. The system uses a device-encrypted store for select system data and explicitly registered app data. By default a credential-encrypted store is used for all other system data, user data, apps, and app data.
Network Security Config
In Android N, apps can customize the behavior of their secure (HTTPS, TLS) connections safely, without any code modification, by using the declarative Network Security Config instead of using the conventional error-prone programmatic APIs (e.g. X509TrustManager).
- Custom trust anchors. Lets an application customize which Certificate Authorities (CA) are trusted for its secure connections. For example, trusting particular self-signed certificates or a restricted set of public CAs.
- Debug-only overrides. Lets an application developer safely debug secure connections of their application without added risk to the installed base.
- Cleartext traffic opt-out. Lets an application protect itself from accidental usage of cleartext traffic.
- Certificate pinning. An advanced feature that lets an application limit which server keys are trusted for secure connections.
Android N allows apps to define action-specific shortcuts which can be displayed in the launcher. Theselauncher shortcuts let your users quickly start common or recommended tasks within your app. Each shortcut contains an intent, which links the shortcut to a specific action in your app. Examples of these actions include:
- Navigating users to a particular location in a mapping app.
- Sending messages to a friend in a communication app.
- Playing the next episode of a TV show in a media app.
- Loading the last save point in a gaming app.
Apart from the above mentioned features, Some other features are also included like Print Service Enhancement, Scoped Directory Access, APK Signature Scheme , Default Trusted Certificate Authority, Key Attestation and mainly Android for Work.
Are you aware of any other features included, Please do let us know.
Source : Android