One of the reasons is that IOS
does not do true multitasking as Android.
In IOS, when you switch to another app, it requests the background app to shut down and stops giving CPU cycles to it after 5 seconds. That is why it is snappy as only one app gets CPU at a time. Small number of apps that really need to run indefinitely in the background are allowed by IOS.These are apps that play audio as most audio decoding nova days is hardware decoding and does not slow down the phone. Also, apps that track your location in background are allowed. Then VIOP apps are allowed such is Microsoft Skype and also Newsstand apps while downloading content.
These are the reasons iPhone can get away with only 2 cores and 1GB of RAM. Android supports true multitasking and problem is that some of the apps are badly written and fight for CPU cycles even after hours in background. It is good that a lot of android phones have up to 8 cores and 3GB of RAM. More than that would not make sense as it would require 64bit OS (I think Android L has 64bit flavor).
In IOS, when you switch to another app, it requests the background app to shut down and stops giving CPU cycles to it after 5 seconds. That is why it is snappy as only one app gets CPU at a time. Small number of apps that really need to run indefinitely in the background are allowed by IOS.These are apps that play audio as most audio decoding nova days is hardware decoding and does not slow down the phone. Also, apps that track your location in background are allowed. Then VIOP apps are allowed such is Microsoft Skype and also Newsstand apps while downloading content.
These are the reasons iPhone can get away with only 2 cores and 1GB of RAM. Android supports true multitasking and problem is that some of the apps are badly written and fight for CPU cycles even after hours in background. It is good that a lot of android phones have up to 8 cores and 3GB of RAM. More than that would not make sense as it would require 64bit OS (I think Android L has 64bit flavor).
IOS just need a relative small
ram size to achieve the same ram performance as android does. Also, More ram
chips means killing the battery faster. Note that multitasking is not a problem
in iphone but battery problem is serious.
Note that each time a procedure in program has finished, some new trash memory occupies spaces in ram.IOS is Obj-C base while the android is java base. Obj-C actively remove trash memory inside ram after each procedure but Java remove them after certain period of time.
There are a garbage collection in java allocated in ram for storing all the trash memory before they are removed. The java system remove the garbage collection regularly(this garbage removing procedure draw cpu resources as well which slow down the speed). So the ram in java system always stored with trash memory inside ram while Obj-C doesnt. Thats why android ram efficiency is much lower than IOS. It doesnt need large ram size.
Note that each time a procedure in program has finished, some new trash memory occupies spaces in ram.IOS is Obj-C base while the android is java base. Obj-C actively remove trash memory inside ram after each procedure but Java remove them after certain period of time.
There are a garbage collection in java allocated in ram for storing all the trash memory before they are removed. The java system remove the garbage collection regularly(this garbage removing procedure draw cpu resources as well which slow down the speed). So the ram in java system always stored with trash memory inside ram while Obj-C doesnt. Thats why android ram efficiency is much lower than IOS. It doesnt need large ram size.

0 comments: