Google to Release Android 9 Pie

New major version of one of the most popular mobile OS brings a lot of interesting features both for users and developers
07 August 2018   1861

Google announced the release of a new version of the operating system Android. More than 140 thousand participants of the Android Beta program took part in the testing. Innovations affected both ordinary users and developers. Source code of Android Pie are available in the Android Open Source Project (AOSP).

What's new in Android 9 Pie?

Machine learning
Android 9 automatically adjusts the phone based on user preferences and habits for maximum working time and better performance of the most commonly used applications.

Adaptive Battery

Adaptive Battery
Adaptive Battery

Google has partnered with DeepMind to work on a feature called Adaptive Battery, which uses machine learning to prioritize system resources.

App Actions
App Actions - new methods to increase the visibility of the application. They take advantage of machine learning to send the right application to the user at the right time, based on the semantic intent of the application and the context of the user.

The text classifier and Smart Linkify
Developers have expanded machine learning models that identify objects in content or text input to support types such as dates and flight numbers through the API TextClassifier. Smart Linkify allows you to use the TextClassifier model through the Linkify API, including advanced options for quick user follow-up. Smart Linkify provides improved detection accuracy as well as performance.

API Neural Networks 1.1
Android 9 introduced an updated version of the API for neural networks to expand Android support for accelerated device learning on the device. Neural Networks 1.1 adds support for nine new operating systems - Pad, BatchToSpaceND, SpaceToBatchND, Transpose, Stride Slice, Mean, Div, Sub and Squeeze. A typical way to use the API is to use TensorFlow Lite.

New navigation system
The system developed over a year simplifies user interaction with the device, providing a fast and intuitive transition between screens.

Text Magnifier
Text Magnifier

The Magnifier widget allows users to accurately position the cursor or text selection markers by viewing the enlarged text through the drag-and-drop panel. It can also provide an enhanced version of any kind or surface, not just text.

Biometric Authentication

Biometric Authentication
Biometric Authentication

Applications that have previously used a user identity verification using biometric data can now use the built-in BiometricPrompt API.

Other innovations
From now on, users who access the Internet will automatically use the HTTPS protocol, DNS instead of TLS, by default.

All the innovations can be found in the official documentation. At the time of press, the update of the operating system is being rolled out for Pixel device owners, but in the coming months, developers promise to deliver Android 9 to more devices.

Java SE 14 to be Available

Java SE 14 is as a regular support period version for which updates will be released before the next release
18 March 2020   347

After six months of development, Oracle released the Java SE 14 (Java Platform, Standard Edition 14), which uses the OpenJDK open source project as its reference implementation. Java SE 14 maintains backward compatibility with previous releases of the Java platform; all previously written Java projects will work without changes when launched under the new version. Ready-to-install Java SE 14 builds (JDK, JRE, and Server JRE) are prepared for Linux (x86_64), Windows, and macOS. The Java 14 reference implementation developed by the OpenJDK project is fully open under the GPLv2 license with GNU ClassPath exceptions that allow dynamic linking to commercial products.

Java SE 14 is categorized as a regular support period for which updates will be released before the next release. As a branch with a long service life (LTS), you should use Java SE 11, updates for which will be released until 2026. The previous Java 8 LTS branch will be supported until December 2020. The next LTS release is scheduled for September 2021. Recall that since the release of Java 10, the project has switched to a new development process, which implies a shorter cycle of generating new releases. New functionality is now being developed in one constantly updated master branch, in which ready-made changes are included and from which branches are released every six months to stabilize new releases.

These are some of the changes and updates:

  • Added experimental support for pattern matching in the instanceof operator, which allows you to immediately determine the local variable to access the checked value.
  • Experimental support has been added for the new “record” keyword, which provides a compact form for defining classes, avoiding the explicit definition of various low-level methods, such as equals (), hashCode () and toString (), in cases where data is stored only in fields, the behavior of work with which does not change.
  • This declaration will automatically add implementations of the equals (), hashCode (), and toString () methods in addition to the constructor and methods that control the change of data (getter).
  • Standardized and enabled by default is support for a new form of switch statements that does not require a break statement, allows you to combine duplicate labels, and allows use not only in the form of an operator, but also as an expression.
  • The experimental support for text blocks has been expanded - a new form of string literals that allows you to include multiline text data in the source code without using character escaping and preserving the original text formatting in the block
  • The informative value of diagnostics in case of NullPointerException exceptions has been expanded.
  • A preliminary version of the jpackage utility has been implemented, which allows you to create packages for self-contained Java applications.
  • A new memory allocation mechanism has been added to the G1 garbage collector, taking into account the specifics of working on large systems using the NUMA architecture.
  • Added API for tracking on-the-fly JFR events (JDK Flight Recorder), for example, for organizing continuous monitoring.
  • Added the jdk.nio.mapmode module, which offers new modes (READ_ONLY_SYNC, WRITE_ONLY_SYNC) for creating mapped byte buffers (MappedByteBuffer) that reference non-volatile memory (NVM).
  • A preliminary version of the Foreign-Memory Access API has been implemented, which allows Java applications to safely and efficiently access memory areas outside the Java heap by manipulating new abstractions of MemorySegment, MemoryAddress, and MemoryLayout.
  • Ports for Solaris OS and SPARC processors (Solaris / SPARC, Solaris / x64 and Linux / SPARC) declared obsolete with intent to delete.

Get more at the Oracle website.