CPU determines the upper fluency limit, RAM determines the lower fluency limit, and the system plays a leading role in the middle.
Why does the system affect the fluency of Android phones? The following analysis is divided into two points:
The first point: the difference between background mechanisms.
A.Android uses a real background, that is, the application is saved in RAM. When everyone presses the Home button to return to the desktop, the open application is not closed. For example, QQ, WeChat and other applications are still running, networking and receiving information (not receiving push). Most Android users may have the habit of installing tools such as 360 mobile assistants. From the point of view of memory usage, the memory usage rate is very low at the beginning of boot. If the memory is not cleaned up, the memory utilization rate will reach more than 75% in a normal day. The higher the memory usage, the less smooth it is. There is no objection to this phenomenon. This is why Android needs more RAM to improve the user experience.
? B.ios uses a pseudo background, similar to hibernation. When you double-click the Home button to bring up the multitasking management interface (or click Home to return to the desktop), all applications almost stop running, and the last running status is recorded in RAM, which is the reason why the iPhone is smooth. Different from Android, QQ, WeChat and other programs don't receive information in the background, but after you choose to open push from the application, the system will add some processes, which receive information from the Apple server, which is exactly the information sent by the application. Apple servers played a role of transit.
? Second, the different rendering mechanisms.
? The UI rendering of IOS adopts real-time priority, while the UI rendering of Android follows the general priority of main thread in traditional computer mode. It sounds abstract and difficult to understand, but you can try. Use your iPad or iPhone, open Safari, and then load a complicated webpage, such as Sina's homepage. When the webpage is halfway loaded, put your finger on the screen and move around. You will find that all rendering will stop immediately, and the web page will never continue to load until you take your finger away.
? Repeat this operation on Android devices, and you will find that the browser will keep trying to load pages and render HTML, trying to multitask at the same time, so an efficient dual-core processor is very important for Android.
? In iOS, the UI rendering process has absolute priority. When the user touches the touch screen of iPhone, all processes in iOS will stop, UI threads will intercept all events, and the system will use all resources to render UI processes to ensure the real-time rendering priority of the user interface. In Android system, the priority of UI rendering process is not so high, that is to say, when you touch the screen of Android phone, the programs in the background of the system are still running, such as downloading and viewing short messages, so the resources obtained by the system UI are not enough, which is also the reason why the Android system is not smooth.
? Although there is a saying of Android hardware heap, hardware accelerated resources are easily eaten by Android rendering mechanism. For example, Tegra 2, 60 frames is enough to render 2.5 times each pixel of 1280*800 screen. But in Android 3.0, just opening the "All Applications" view requires drawing many different windows: you need to draw the background for all pixels at once; (Say less) You need to draw a half-pixel shortcut and widget layer; You need to draw icons and labels for half of the pixels once; You also need to draw the black background of the "All Applications" view for all pixels, as well as the icons and labels of the "All Applications" view ... Before these windows are finally combined, GPU resources will be eaten up. Of course, Android has also optimized this mechanism, such as making the wallpaper into a window larger than the screen, so that the home screen does not need to be redrawn when scrolling, just move the window. And this drawn window does not need additional GPU calculation.
? On the other hand, OpenGL hardware accelerated drawing is not omnipotent. In Nexus S and Galaxy Nexus, each OpenGL application will occupy 8MB of memory. You know, 2MB of process expenditure is not a small price. This 8MB memory may be allocated from a background process, which will slow down the application switching speed.