laitimes

From Google to mobile phone makers, Android has closed the door on 32-bit apps

For many friends who have installed Windows for others, they may first ask whether they want 32-bit or 64-bit. The reason why such a question is asked is because of the limitations of hardware development at that time, and some configurations with relatively low market positioning are basically unrelated to 64-bit. But if the 32 bits of Windows are the tears of the times, then the 32 bits of Android are undoubtedly Google's indulgence. After all, who would have thought that in 2022, many years after smartphones have entered the multi-core era, 32-bit applications will still be popular on the Android side.

From Google to mobile phone makers, Android has closed the door on 32-bit apps

In order to solve this problem, almost all the apps from Google to the app store are exhorting developers to "abandon the dark and cast the light". A few days ago, a developer revealed that it has received the Xiaomi App Store's "Notice on Closing the Entry of 32-bit Single-Package Upload for New Applications", which shows that the newly launched applications on April 1, 2022 will no longer be allowed to upload separate 32-bit application packages, but the game is temporarily unrestricted.

At the same time, a message from the Overseas Developer Forum XDA shows that the code submitted to AOSP Gerrit has changed a new warning, which will pop up as soon as the user is running a 32-bit application on a 64-bit system. Warning messages tell users that the app needs to be updated by the developer to improve compatibility, and urge the user to check for updates or contact the developer.

From Google to mobile phone makers, Android has closed the door on 32-bit apps

Yes, even today, you can still see the existence of 32-bit apps when you open almost any Android app store, and even some 32-bit apps are still well-known national apps. But as a comparison, since iOS 7 in 2013 to iOS 11 in 2017, Apple has only spent 4 years to complete the iteration of the application from 32-bit to 64-bit, and now there is no 32-bit APP in the iOS ecosystem.

However, in fact, Google's pace of opening the Android 64-bit era is only a year later than Apple's, and the first SoC (Qualcomm Snapdragon 808) and system (Android 5.0) that support 64-bit have been unveiled as early as 2014.

Just when Qualcomm Snapdragon 808 and Android 5.0 came out, the mainstream view of the industry at that time was that android devices equipped with 64-bit flagship masters began to ship in 2015, following the iOS devices to switch to 64-bit architecture, in 2016, most Android devices switched to 64-bit architecture, and in 2017, 64-bit applications became the mainstream of the Android ecosystem. But it turned out that the prediction was largely accurate, with the exception of the last 64-bit app adoption time. Not only that, but after 8 years from 2014 to 2022, Android's 64-bit applications have still not achieved full popularity.

From Google to mobile phone makers, Android has closed the door on 32-bit apps

Why are 64-bit apps so slow to become popular on Android? To answer this question, you need to first clarify the difference between the two keywords of 32-bit and 64-bit.

From von Neumann machines to the personal computers that are now well known, computer equipment uses binary logic, that is, 0 and 1 (actually high potential and low potential) to represent information, so 32-bit and 64-bit refer to the binary number of digits that the processor can process at once in a unit of time, respectively, 32 bits and 64 bits. In the case of the same operating frequency, it is clear that the 64-bit processor is faster to process data, which is also the basis for the theoretical strengthening of 64-bit.

Conversely, running a 32-bit application with a 64-bit processor is similar to a "big horse-drawn cart." When calculating a 32-bit application with a 64-bit processor, you only need to make up for the "0" at the high potential, which is not likely to make the user perceive the efficiency difference.

At the same time, the fragmentation of Android for a long time is undoubtedly one of the reasons why Google has been slow to make up its mind to implement 64-bit applications. Just like the backward compatibility of Windows, a large number of older versions and old models previously occupied half of the Android ecosystem, and for the experience of this part of the user, Android's backward compatibility is far better than iOS.

From Google to mobile phone makers, Android has closed the door on 32-bit apps

Because 32-bit applications can run on 64-bit systems at a fraction of the cost, if the application is fully transformed into 64-bit, the result is that users who are still using 32-bit systems will no longer be able to use, which undoubtedly represents user churn. If you develop both 32-bit and 64-bit versions, it means that the workload is really improved. Since 32-bit applications can still run in the new version of Android, and the efficiency is not much different, it will naturally lead to developers' willingness to upgrade 32-bit applications to 64-bit.

The most critical reason for the difference in efficiency between iOS and Android in the implementation of 64-bit applications is undoubtedly that the former is a closed ecology, and Apple's control is relatively high, and third-party developers can be regarded as Apple's "hit workers" in a sense. On the other hand, Android, the open ecosystem has created a relationship between Google and developers, closer to the traditional developer community, the two sides are allies, are collaborators, at best, Google's appeal is stronger, and third-party developers are scattered.

As a result of this distinction, developers will have to dance with the baton once Apple changes the App Store's review guidelines, while Google needs to get community support if it wants to make changes to the development of Android apps.

Today, from the Android App Store to Google, they are ready to force developers to upgrade their applications to 64-bit, in fact, because the problem has reached the point where it must be solved, and the inherent defect of 32 bits has gradually limited the progress of the Android platform software ecosystem.

In October 2020, as a developer of CPU instruction set architecture for iOS and Android devices, ARM announced at the DevSummit Developer Summit that it will gradually eliminate support for 32-bit in IP design starting in 2022. On the one hand, the fragmentation problem has gradually been alleviated since Android 8.0, on the other hand, ARM's hardware limitations will make 32-bit applications affect the user experience, so it also makes upgrading 64-bit for the Android ecosystem to become mandatory.

According to Xiaomi, on the qualcomm Snapdragon 8 Gen 1 and MediaTek Tianji 9000 platforms that have been listed, 32-bit applications only support running on the LARGE CORE of the CPU, which will lead to some experience problems such as heat generation and power consumption.

Friends who know something about the ARM architecture must know that the current mainstream ARM architecture chips are using big.LITTLE size core switching technology, which is a technology that can schedule the correct task to the correct CPU core, which can make the big core responsible for high-load tasks such as games, and the small core responsible for listening to songs, browsing the web and other low-load tasks. But the price of this technology is that the working mode of the chip must be uniform, and it cannot be that the large core uses the AArch64 instruction set and the small core uses the AArch32 instruction set.

From Google to mobile phone makers, Android has closed the door on 32-bit apps

big. The limitations of LITTLE technology, as well as ARM's limitations on 32-bit applications, mean that some low-load applications that should be running on small cores are forced to use large cores, coupled with the performance of this generation of flagship SoCs in terms of power consumption and heat generation, affecting daily use has become a nail in the coffin. You may wish to imagine that if you are simply using your mobile phone to brush Weibo and listen to songs, at this time the mobile phone will actually start to heat up, who can bear it? Usually consumers may complain that the mobile phone itself has design defects at this time, but for manufacturers, it can be said that people sit at home and the pot comes from the sky.

Even if these problems are put aside, 32-bit applications have long since lost their future. In addition to the difference in data processing performance, the biggest difference between 32-bit and 64-bit is the supported memory (note that memory here refers to the address space, not physical memory). The maximum addressing space for 32-bit systems is 2^32 (about 4GB), and the maximum addressing space for 64-bit systems is 2^64 (16EB), which causes 64-bit applications to use dynamic memory allocation to put an application larger than 4GB into memory for processing, while 32-bit applications need to use a complex method similar to "chunked reads".

From Google to mobile phone makers, Android has closed the door on 32-bit apps

In simple terms, 32-bit applications theoretically only support a maximum of 4GB of memory, while the use of additional 64-bit memory pointers will make the application "bulking", occupying more cache and memory, and increasing consumer demand for larger memory and large-capacity flash memory. It should be known that the memory of the current mainstream models has started from at least 6GB, 8GB is standard, and 12GB is not uncommon, which undoubtedly makes 64-bit applications more suitable for this feature.

Nowadays, from Google to Apple, and then to major mobile phone manufacturers, they have long taken mobile office and mobile entertainment as the focus, there is no doubt that mobile phones have more functions to carry and application scenarios are becoming more and more abundant, so the congenitally defective 32-bit applications can only be shelved.

【The picture of this article comes from the network】

Read on