When we use an iOS or Android phone, the first step is to slide the screen to unlock and find the corresponding program and click Enter. This is often the first step in all manipulations. IOS products show a smooth side, while Android products give people a stuck phenomenon, not to mention further in-depth gameplay or other manipulations. Why is this?
In fact, this is related to the priority of the two systems. IOS has the highest screen response priority, and the response order is touch-media-service-core architecture. In other words, when the user touches the screen, the system will give priority to the screen display, that is, the touch level, and then the media, services and core architecture. The priority response level of Android system is application-framework-library-kernel architecture, and graphics and image processing related to display belongs to library. As you can see, it is the third place. When you touch the screen, the Android system will activate the application first, then the border is the screen, and finally the core architecture.
Different emphases lead to different performances of iOS products and Android phones in the control process. When you slide the screen to control, the iOS system will give priority to the touch level, while the Android system will respond to the library level for the third time, which is also one of the factors that cause the difference in fluency between the two.
Second, the hardware configuration is different: iOS is based on GPU acceleration.
At present, in the hardware competition of smart phones, in fact, the configuration of processors has reached a bottleneck period, and the major flagship products are basically not very different in hardware competition, and at this time GPU has become an important factor to highlight the differences. Some large-scale software, such as 3D games, require higher GPU performance. The Power VR SGX series GPU used in Apple iPhone products is very mainstream at present, and the running test data proves that it will not be worse than some flagship Android products.
And all kinds of special effects processing of graphics in iOS system are basically based on GPU hardware acceleration. It can render through GPU to achieve smoother control performance, without relying entirely on CPU or the program itself. However, the products of Android system are not like this, because Android needs to adapt to different mobile phone hardware and meet various configurations, so many graphics special effects are mostly accelerated by the program itself. The operation that relies heavily on CPU will naturally increase the load on the processor, thus causing the problem of jamming. Although hardware acceleration is turned on by default in higher versions such as Android 4.0, 4. 1, it is still impossible to achieve GPU acceleration for all special effects. Many Android phones have the function option of "whether to turn on GPU rendering", but the improvement after turning on is minimal.
The priority of the first response of the screen, coupled with the characteristics of the GPU accelerator of iSO itself, makes everyone feel that the fluency of the iOS phone is good during the control process. Because its whole process serves the maximum fluency, whether it is the first impression of sliding the screen or the deeper operation after you further use the program. The acceleration of GPU should be another factor that makes it smoother than Android system.
Third, the development mechanism is different: the Android mechanism is inefficient.
The programming language of Android is JAVA, while the programming language of iOS is Objective-C. But if the Android system is somewhat stuck because of the JAVA development language, or compared with Objective-C, some people will definitely question it. The advantage of Objective-C is efficient but unique, while the advantage of JAVA is cross-platform, but its running efficiency is relatively low. In fact, the different mechanisms brought by these two programming languages have caused the fluency differentiation between their respective systems.
Objective-C of iOS, compiler gcc, the code compiled by this gcc is optimized to the extreme by Apple for the iOS architecture, and there is no need for virtual machine intervention in the running process, so the execution efficiency is naturally high. This passage should be the execution process of the running program of the iOS system itself, while Android is executed through the JAVA virtual machine. The system needs to occupy a lot of memory in exchange for the execution speed, and the irregular automatic memory recycling mechanism directly leads to the emergence of the stuck phenomenon.
JAVA programming of Android itself is not as efficient as Objective-C, and the mechanism of automatic memory recovery has caused some unsmooth phenomena. However, according to the technical explanation, the efficiency of modern JAVA virtual machine is not the biggest bottleneck, and the phenomenon of card death has been obviously improved after the Android 4.0 system version, so this is also the reason why some users have not found that their newly bought Android mobile phone cards are too dead. It seems that the programming language and mechanism have been improved by Android, which is not the only factor that causes its fluency to deviate from iOS, but the impact is real.
Third, the system design is different: Android APP cannot be unified.
Due to the closure of iOS products, all apps are single, because each app runs in iOS products such as iPhone and iPad, and their hardware utilization efficiency is very high. Because there are few suppliers of accessories for the iOS system, and the CPU is changed once a year, unlike the Android terminal. It is difficult for developers to see how many terminal resolutions will be included in the future, which GPU drivers will be included, and so on. Therefore, relatively speaking, the development cost of Android applications is high and the benefits are slow. IOS application development benefits from the vertical integration of software and hardware, which naturally ensures the perfect combination of the application itself and hardware products.
In fact, the difference between Android and iOS in app development is also caused by its developmental and non-open characteristics. If you compare the flagship Android phone with a game specially designed for this flagship product and Apple's iPhone, you really won't encounter the delay of Android flagship machine. Why? Because this game is designed for this mobile phone, it has achieved maximum compatibility and optimization in software and hardware, and naturally there will be no stagnation.
Android system programs should be installed on all kinds of mobile phones that meet the requirements. Developers can't develop all models, so they can only test them on mainstream machines to ensure the running effect, so they have to reduce the game experience to achieve the effect that they can be used in high, middle and low grades. Finally, a large number of mass users who occupy the share of Android terminals can't get a smooth experience because their mobile phones are not flagship products, which will naturally lead to complaints that Android products are not as smooth as iOS.
Whether iOS products feel smoother than Android or really smoother than it, in fact, the reason is very simple. Apple will spend a year or even two to develop a desktop icon, a font and test screen points, but it seems that there are not many products in Android terminals except Nexus series that can take such a long time to do such detailed things. Some netizens said it well. Android does more to "make the system run", while iOS does more to "make the system run with the highest efficiency". Perhaps this is why iOS products are smoother than Android. But on the better side, with the continuous upgrade of Google to Android and the orderly improvement of its products by various manufacturers, more and more Android terminals are getting rid of the shackles of poor traffic, and the expectations of Android users are expected to be better satisfied in the future.