64-bit apps are typically faster and more responsive than 32-bit counterparts.
A 64-bit CPU can process a larger set of data when compared to a 32-bit processor, while also being faster and more responsive. Staying with 32-bit architecture provides limitations around future innovation, with 32-bit power-efficient capabilities and performance becoming increasingly difficult to improve. However, the 64-bit architecture enables continuous and future innovation, particularly in power-efficient mobile applications. In addition, the step-up to 64-bit enables greater compute capabilities that are needed to meet the demands of new workloads, such as artificial intelligence (AI), machine learning (ML), immersive mobile gaming, and 4k displays. Other benefits include enhanced security features, access to larger amounts of device memory, greater precision in 64-bit numbers, and a richer instruction set.
Despite the Android move to 64-bit, it is important to note that 32-bit applications are not going to vanish overnight. If a 32-bit app is currently available in Google Play, then it can remain that way. The move to 64-bit only applies to new and updated apps.
Most Android smartphone devices support both 32 and 64-bit applications. However, the move to 64-bit only devices seems inevitable, as the Android ecosystem starts to support an increasing number of 64-bit applications. Currently, around 36 percent of the top 40 Android apps are 64-bit capable, but we expect this number to accelerate in the next nine months as awareness about the 64-bit move on Android grows. While many believe that developing both 32 and 64-bit applications allows developers to reach a potentially wider audience, there are substantial benefits to focusing purely on 64-bit only devices.
These include an improved time-to-market, reduced complexity, and lower development and testing costs. The focus on a single architecture is also likely to yield a stronger, healthier, and more robust system.
64-bit capabilities have been available for years, so the move is likely to be relatively uncomplicated for developers.
From a developer perspective, the 64-bit move is likely to be relatively uncomplicated. 64-bit capabilities have been available for several years, so the creation of the newly required 64-bit libraries should be straightforward. In fact, the majority of open-source libraries have been type-safe and tested for these systems for a while. If an Android application is written entirely in Java™, the current Android Runtime will support the application without modification.
However, some developers could face challenges to their existing apps. If an application uses native libraries, then – depending on how well it was originally written – this may require additional development work. Moreover, re-compiling applications, even for those that are well-coded, may require some re-writing of the code. Developers should check now to avoid bigger problems in the future when the move to 64-bit starts to accelerate.
In addition, since Google does not directly influence the Android app ecosystem in Asia or offer the Play store in China, its 64-bit mandate does not wield as much influence in these markets. Fortunately, most top app stores and Android ecosystem influencers in these markets are supportive of the transition to 64-bit capable applications.
Focusing on the broader Android ecosystem, Arm is engaging with the premier Android game engine providers who provide their technology to thousands of game developers. Games make up a significant percentage of the downloads and revenue derived from the Google Play store, so it is crucial that these providers migrate their engines in plenty of time for the game studios to build, test, and release their Android games prior to August 2019.
Google is supporting the developer community by implementing new methods for deploying and installing Android apps through the recent deployment of Android App Bundles and implementing Dynamic Delivery for Play app download. Both initiatives help with streamlining app delivery and minimizing the size of installed apps. 64-bit apps can be larger due to the increased pointer size as well as including the equivalent legacy 32-bit binaries. These deployment methods will help mitigate any increases in the size of the typical Android application package.
Moving to 64-bit won't be without challenges, but it's a great move for Android.
There are likely to be some challenges in the run-up to August 2019, but the Android app transition to 64-bit is a good move overall. Performance and efficiency gains, and cost and time savings are key benefits. The 64-bit move will also allow developers to meet the higher compute demands from new and emerging technologies, while enabling them to continue innovating their applications in the future.
The full transition is nine months away, but our message to the Android ecosystem is to start investigating now whether your applications require additional work to make them 64-bit ready. Arm and Google will be available to support the ecosystem every step of the way during the 64-bit transition.
This guest post is brought to you by ARM and was written by David Whaley, a Senior Manager of Strategic Software Solutions, at Arm. He has authored an Arm whitepaper on 64-bit computing for mobile.