Abstract: many Android users may feel that android may become choppy sometimes, but why is Apple's response smoother? Let's share with you the mysteries of this article!
Many people have noticed that Apple's iPhone is smoother than Android phones. This is a big problem, after all, the two are completely different systems, so it is unfair to put them together for comparison. However, because Android and IoS are currently the two mainstream operating systems, it is naturally difficult to avoid comparison and competition. Today, let's talk about why IOS products are more smooth and why some Android phones are prone to lag.
Different priority levels: IOS First Response Screen
When we use iOS or Android phones, the first step is to slide the screen to unlock and find the corresponding program and click to enter. At this time, it is often the first step for all operations. The IOS system products show a smooth side, but the Android product gives a choppy phenomenon, not to mention playing games or other operations in the future. Why?
In fact, this is related to the priority of the two systems. IOS has the highest priority for screen response, and its response order is in turn touch -- media -- service -- core architecture, in other words, when you touch the screen, the system will first handle the screen display, that is, the touch level, and then the media, service, and core architecture. The priority response level of the Android system is the application -- framework -- library -- kernal architecture, and the display-related image processing part belongs to the library. You can see that it is the third place, after you touch the screen, the android system will first activate the application, and the framework will then be the core architecture of the screen.
We can see that the different priorities lead to performance differences between IOS products and Android phones during the control process. When you slide the screen for control, the IOS system will give priority to touch level, the Android system is the third to respond to the library level, which is one of the factors that cause different smoothness. However, the priority has a positive impact on system fluency, but it is not the most absolute. There are other factors that may result in different fluency between the two systems. Let's continue to look at it.
Different hardware configurations: ios gpu-based Acceleration
Currently, in the smart phone hardware equipment competition, the processor and other configurations have reached a bottleneck, and the major flagship products have basically no big difference in hardware competition, at this time, GPU becomes an important factor that highlights the difference. Some large software, such as 3D games, have high GPU performance requirements. The power vr sgx series GPU used by Apple's iPhone is currently very popular, the running test data proves that it is not inferior to some flagship Android products.
However, the IOS system accelerates various special effects on graphics based on GPU hardware. It does not have to rely solely on the CPU or the program itself, instead, the GPU is used for rendering to achieve smoother control performance. However, this is not the case for Android systems. Because Android systems need to adapt to different mobile phone hardware and meet different configurations, most of the graphic effects must be accelerated and rendered by the program itself, and operations that rely heavily on CPU operations will naturally increase the load on the processor, resulting in a choppy problem. Although improvements have been made in Android 4.0, 4.1, and other later versions to enable hardware acceleration by default, GPU cannot accelerate all the effects. In many Android phones, the option "whether to enable GPU rendering" is provided, but the improvement after the function is enabled is minimal.
The priority relationship of the first response on the screen, coupled with the features of the iso gpu Acceleration Program, makes the IOS Mobile Phone feel good fluency during the control process. Because the whole process of it is to serve the maximum smoothness, whether it is sliding the first impression of the screen, or the deeper operation after you further use the program. This feature of GPU acceleration should be another factor that is superior to the smoothness of the Android system.
Different Development Mechanisms: Low Android mechanism Efficiency
Android's programming language is Java, while IOS's is objective-C. However, if Android systems are stuck due to the relationship between Java development languages, or compare it with objective-C, someone may question it. The advantage of objective-C is high efficiency but relatively "unique", while the advantage of Java is that the cross-platform operation efficiency is relatively low. In fact, the two programming languages have different mechanisms, this has already resulted in a smooth differentiation between systems.
IOS objective-C, GCC compiler, and the Code Compiled by GCC has been optimized to the extreme by Apple for the IOS architecture. During the running process, the virtual machine is not required to intervene in the middle, naturally, the execution efficiency is very high-derived from the network. This paragraph should be the execution process of the program running on the IOS system, while Android is executed through the Java virtual machine, and the system needs to occupy a large amount of memory in exchange for the execution speed, in addition, the irregular memory automatic recovery mechanism directly causes choppy.
Android Java programming itself runs less efficiently than objective-C, and with the addition of the memory auto-recovery mechanism, it causes some choppy phenomena. However, according to technical personnel, the efficiency of modern Java virtual machines is no longer the biggest bottleneck, and the choppy phenomenon after Android 4.0 is obviously improved, this is why some users have not found that their new Android phones are too choppy. It seems that the programming language and mechanism have been improved by Android, which is also not the only factor that leads to the deviation from IOS fluency, but the impact is actually there.
Different system designs: Android apps cannot be unified
With the relationship of priority, the influence of GPU acceleration, and the programming and mechanism problems of the two systems, it seems that the reason why IOS is smoother than Android is already explained. But in the end, another problem is the application. Obviously, the user thinks that choppy is generated during the process of running the software, after all, the initial factory mobile phones that have not installed any applications are basically not smooth or delayed, in addition, a smart phone does not install any applications, which does not meet the user's original intention and use behavior. So in the final analysis, what is the problem between Android and iOS apps?
Because of the closed nature of IOS products, all apps have a single running object, because every application is running in IOS products such as iPhone and iPad, and they have a high hardware utilization efficiency. Because there are only a few suppliers of IOS accessories, and the CPU is changed once a year, this is not like changing the android terminal year by year, it is difficult for developers to see how many types of terminal resolutions will be included in the future, what are GPU drivers and so on? Therefore, Android Application development costs are relatively high and the benefits are relatively low. IOS application development has benefited from the vertical integration of hardware and software. Apple naturally ensures the perfect combination between the application and hardware products.
In fact, the development of apps in Android and iOS systems is also caused by their development and non-open features. If you use the flagship Android mobile phone to add a game designed specifically for this flagship product, and compare it with the running of Apple's iPhone 5, you will not encounter a lag delay on the android flagship server, why is it because the game is designed for this mobile phone and has achieved maximum compatibility and Optimization in terms of hardware and software? Naturally, there will be no stagnation.
Android system programs should be installed on various qualified mobile phones, and developers cannot develop for all machine models. They can only test on mainstream machines and ensure the running effect, therefore, to balance the entire product line, they have to reduce the gaming experience to achieve the shared effect of high-school and low-level products. In the end, a large number of users who occupy the android terminal share will naturally complain that their mobile phones are not the flagship products and cannot enjoy smooth user experience.
Conclusion:
Whether IOS products feel smoother than Android products or are actually smoother than Android products, the reason is actually very simple. Apple will spend a year or even two years developing a desktop icon, a font, and testing the screen position, in addition to the Nexus series, there does not seem to be many products in the android terminal that can be used for such a long time to do such meticulous things. Some netizens say that android is more about "running the system ", what IOS has apple doing more is "making the system run with the highest efficiency". Maybe this is why IOS products are smoother than Android products. But what's better is that, as Google continues to upgrade Android and manufacturers are improving their products in sequence, more and more Android terminals are getting rid of the choppy and choppy constraint, in the future, the expectations of Android users are also expected to be better satisfied.
Transferred from Zhongguancun online