Android
7.0-7.1 "Nougat" (codenamed N in-development) is the seventh major version of the Android operating system. First released as a beta build on March 9, 2016, it was officially released on August 22,
2016, with Nexus devices being the first to receive the
update.
Nougat introduces
notable changes to the operating system and its development platform, including
the ability to display multiple apps on-screen at once in a split-screen view,
support for inline replies to notifications, as well as an OpenJDK-based Java environment and support for the Vulkan graphics rendering API, and
"seamless" system updates on supported devices.
History
On March 9, 2016, ahead
of the Google I/O developer conference, Google released
the first beta of Android "N" as part of a new "Android Beta
Program" intended for testing by developers and enthusiasts before
official release "this summer". The developer preview builds were
compatible with only current Google
Nexus devices; the 5X, 6P, 6, 9, Pixel C, and Nexus Player. The "Android Beta
Program" that was introduced allows testers to opt-in for over-the-air
updates to new beta versions as they are released.
On April 13, 2016,
Android N Beta Preview 2 was released.
Google further discussed
Android "N" during the I/O keynote on May 18, 2016, and unveiled its
new virtual reality platform Daydream. During the
conference, Beta Preview 3 was released, along with Google stating it has now
gone from developer-beta to public-beta, which means anyone can try it out.
Google also announced that it would hold a contest to determine the official
release name of the operating system.
Beta Preview 4 was
released on June 15, 2016. On
June 30, 2016, Google announced that N's release name would be "Nougat";
it was also confirmed that Nougat would be version 7.0 of Android.
The final Beta Preview,
5, was released on July 18, 2016.
Features
User experience
Android Nougat
introduces a split-screen display mode for phones, in which two
apps can be snapped to occupy halves of the screen. An experimental
multi-window mode is also available as a hidden feature, where multiple apps
can appear simultaneously on the screen in overlapping windows.
The notification shade
was redesigned, featuring a smaller row of icons for settings, replacing
notification cards with a new "sheet" design, and allowing inline
replies to notifications (this feature is implemented via existing APIs that
are used for similar functionality on Android
Wear). Multiple notifications from a single app can also be "bundled",and
there is greater per-app control over notifications.
The "Doze"
power saving mechanism introduced in Android
Marshmallow was expanded to
include a state activated when the device is running on battery and the screen
has been off for a period of time, but is not stationary. In this state,
network activity is restricted, and apps are granted "maintenance
windows" in which they can access the network and perform background
tasks. As in Marshmallow, the full Doze state is activated if the device is
stationary with its screen off for a period of time. A new "Data Saver" mode
restricts background mobile data usage, and can trigger internal functions in
apps that are designed to reduce bandwidth usage, such as capping the quality
of streaming media.
Platform
In December 2015, Google
announced that Android Nougat would switch its JRE (Java Runtime Environment)
from the defunct Apache Harmony to OpenJDK—the
official open source implementation of the Java platform maintained by Oracle Corporation and the Java community. The Android
Runtime (ART) now incorporates a profile-guided compilation system, utilizing a JIT compiler and profiling alongside its current ahead-of-time compiler to further optimize apps for a
device's hardware and other conditions in the background.
Nougat introduces a system for enabling "seamless", automatic system updates, based upon and sharing some code with the implementation of similar functionality on Chrome OS. The system uses a pair of SquashFS partitions; the Android system executes from an "online" partition, while updates are applied in the background to a redundant "offline" partition. On the next boot following the installation of an update, the redundant partition is designated as active, and the device henceforth boots into the updated system. The previous system partition is kept as a backup in case of update failure, and to serve as the "offline" partition for the next update. This system removes the requirement for the device to reboot into the system recovery environment to apply the update (which prevents the device from being used until the update is complete), and also provides the ability for an update to be automatically rolled back in case of a failure. Due to the partitioning requirements of this system, existing devices will not support seamless updates. Additionally, due to the ART changes on Nougat, apps no longer need to be re-compiled upon the first boot after a system update.
Nougat introduces a system for enabling "seamless", automatic system updates, based upon and sharing some code with the implementation of similar functionality on Chrome OS. The system uses a pair of SquashFS partitions; the Android system executes from an "online" partition, while updates are applied in the background to a redundant "offline" partition. On the next boot following the installation of an update, the redundant partition is designated as active, and the device henceforth boots into the updated system. The previous system partition is kept as a backup in case of update failure, and to serve as the "offline" partition for the next update. This system removes the requirement for the device to reboot into the system recovery environment to apply the update (which prevents the device from being used until the update is complete), and also provides the ability for an update to be automatically rolled back in case of a failure. Due to the partitioning requirements of this system, existing devices will not support seamless updates. Additionally, due to the ART changes on Nougat, apps no longer need to be re-compiled upon the first boot after a system update.
Developer Preview 2
added platform support for Vulkan, the new low-level 3D rendering API to augment OpenGL ES but with higher
graphics performance.
Support for the Daydream VR platform is introduced in Nougat.
Features include a "VR mode" for reduced graphics latency, a "sustained performance
mode" to assist developers in optimizing apps to a devices thermal profile, a new head tracking algorithm which
combines the input from various device sensors, and integration of system
notifications into the VR user interface.
Nougat is the first
version featuring Unicode 9.0 support and comes with updated
emoji plus support for emoji skin tones.
Security
In response to the Stagefright family of bugs disclosed and fixed in
2015, several changes were made to harden the media stack against future
vulnerabilities. Runtime integer overflow detection was implemented, preventing
the majority of Stagefright-like programming bugs from becoming
vulnerabilities, in addition to helping fix and prevent such bugs. Android's monolithic MediaServer process was redesigned to better
adhere to the principle of leas privilege. MediaServer is now split into several separate
processes, each running in its own unprivileged sandbox, and granted only the
permissions required for its task. For example, only the AudioServer can access Bluetooth, and libstagefrightnow
runs within the MediaCodecService sandbox, which is only granted GPU access.
Further constraints were placed on the media stack through seccomp.
Various mechanisms were
enabled to reduce the possibility of malicious code being injected and/or
executed inside the Linux kernel,
including dividing kernel memory into logical segments for code and data, with page access
permissions of read-only and no-execute as appropriate. The kernel was also
restricted from directly accessing user
space memory, and stronger stack
protection was enabled in the GCC compiler to reduce stack smashing. To limit exposure of the kernel to
potentially malicious code, perf was disabled by default, ioctl commands were restricted by SELinux, and seccomp-bpf was enabled to grant processes the
ability to restrict system calls.
On devices shipping with
Android Nougat, the "Verified Boot" policy (introduced partially on
KitKat, and displaying notifications on startup on Marshmallow) must be
strictly enforced. If system files are corrupted or otherwise modified, the
operating system will only allow operation in a limited-use mode or refuse to
boot at all.
Release
Android 7.0 was
officially released on August 22, 2016, with the Nexus 6, Nexus 5X, Nexus 6P, Nexus 9, Nexus Player, Pixel C and General
Mobile 4G as the first devices to
receive the update. Updates to
Nougat will be released quarterly as maintenance releases focusing on
"continued refinements and polish", with the next developer preview
coming in the fall of 2016. On
September 6, 2016, LG announced the V20,
the first smartphone to ship with Nougat pre-loaded.
Google unveiled the
first-party Pixel and Pixel XL smartphones during a hardware-focused
event on October 4, 2016.
Updates to existing
devices will vary by manufacturer and carrier. HTC stated
that it planned to begin updating the HTC
10, HTC One A9 and HTC
One M9 in the fourth quarter of 2016.
Sony also confirmed that it would update a range of its recent devices to
Nougat. Qualcomm stated that it would not support
Nougat on devices using its Snapdragon 800 and 801 system-on-chips for
undisclosed reasons. Although developer preview builds of Nougat were released
for the device, Sony stated that it would not upgrade the Xperia Z3 (which uses the Snapdragon 801) to the
final version due to "unforseen platform limitations". It was
reported that the Google Compatibility Test Suite (whose tests must be passed
in order to receive official certification) specified that all devices running
Nougat must support either Vulkan or OpenGL ES 3.1 graphics APIs—neither of
which are supported by the device's Adreno 330 graphics core.
Thankyou
0 comments:
Post a Comment