Why is a 512MB RAM Windows Phone faster and more fluid than a 512MB RAM Android phone? Do I really need up to 2GB to enjoy an Android phone?
18 Answers
19.6k Views
Different, different layers in stack.
No.
Android Architecture:-
Here you can see the different layers present in Android phone. The Dalvik Virtual Machine is basically a modified JVM. Basically Android is a java platform like old Symbian phones with lots of libraries exposed to developers to build. Android will never be as smooth as windows because windows does not have this one level of virtualization.
More technically, Android runs byte code(DVM) and Windows runs Native(not 100% sure). All the UI rendering which occurs on Windows occur in a dedicated UI thread which has the highest priority. Actually you need to do some clever things to give something else more priority than UI thread. Where as on Android rendering happens on the main thread, inside a VM.
Windows Architecture (for reference)
ps:- My comment on windows might be a bit off because neither do I use windows phone nor do I develop for phones. My only knowledge on windows is from WPF programming.
Windows chose to tax developers a bit instead of hardware manufacturers. For example on a Nokia lumia 520, A developer gets a maximum of 180 MB RAM. And if developer needs more RAM(200MB) , it will fail in all devices below 1GB RAM.
Android got better at RAM management with KitKat.
No.
Android Architecture:-
Here you can see the different layers present in Android phone. The Dalvik Virtual Machine is basically a modified JVM. Basically Android is a java platform like old Symbian phones with lots of libraries exposed to developers to build. Android will never be as smooth as windows because windows does not have this one level of virtualization.
More technically, Android runs byte code(DVM) and Windows runs Native(not 100% sure). All the UI rendering which occurs on Windows occur in a dedicated UI thread which has the highest priority. Actually you need to do some clever things to give something else more priority than UI thread. Where as on Android rendering happens on the main thread, inside a VM.
Windows Architecture (for reference)
ps:- My comment on windows might be a bit off because neither do I use windows phone nor do I develop for phones. My only knowledge on windows is from WPF programming.
Windows chose to tax developers a bit instead of hardware manufacturers. For example on a Nokia lumia 520, A developer gets a maximum of 180 MB RAM. And if developer needs more RAM(200MB) , it will fail in all devices below 1GB RAM.
Android got better at RAM management with KitKat.
The first part of your question has been somewhat explained but mostly hinted at. Yes, the physical architectures help this quite a bit... but at the end of the day, comparing a brand new-and-fresh-out-of-the- box Windows Phone to the same from Android will give you about the same experience. The slowdown starts once you begin enabling optional Google services and installing apps. This points to the real culprit -- those background services others have already been pointed out.
Another key to this is improperly (or simply not) closed apps. In general Android does allow multiple apps to run simultaneously whereas WP does not except in specific scenarios. And for the most part apps don't really need to run simultaneously; they only need to run when necessary.
The answer to the second part of your question is "Yes, unfortunately". Because of what's outlined above you need all that horsepower to effectively handle all the processing and I/O that is necessary for a "true" multi-tasking environment. Let's be real though: The total number of onboard processors determines how many sets of instructions can be executed simultaneously. So if that number isn't more than one then it's really fast switching and not parallel processing we're discussing. Fast switching and enormous I/O will ALWAYS lose out to parallel processing given otherwise identical specs.
And for the record, Windows Phone (7-8.x) is and has always been a subset of the.NET Framework. Which is managed code. Which means there is a Garbage Collector. Regardless of which language your code is written in.
Another key to this is improperly (or simply not) closed apps. In general Android does allow multiple apps to run simultaneously whereas WP does not except in specific scenarios. And for the most part apps don't really need to run simultaneously; they only need to run when necessary.
The answer to the second part of your question is "Yes, unfortunately". Because of what's outlined above you need all that horsepower to effectively handle all the processing and I/O that is necessary for a "true" multi-tasking environment. Let's be real though: The total number of onboard processors determines how many sets of instructions can be executed simultaneously. So if that number isn't more than one then it's really fast switching and not parallel processing we're discussing. Fast switching and enormous I/O will ALWAYS lose out to parallel processing given otherwise identical specs.
And for the record, Windows Phone (7-8.x) is and has always been a subset of the.NET Framework. Which is managed code. Which means there is a Garbage Collector. Regardless of which language your code is written in.
I would not go into technical details as many people have already scratched that part but I would like to point out that windows phone are faster than their android counterparts due to optimization. All the applications are optimized to perform elegantly faster. The same reason goes for iPhones too..
Android is Built on top of a modified Linux Kernel and it uses Java to create and run android applications. Since Android uses Java, to reallocate memory to other apps or free memory java employs Garbage Collector. this Garbage collector needs memory to run smoothly and quickly. because of this reason, Android Requires more than 1GB of RAM to perform smoothly.
Whereas in Windows Phone OS or iOS, the mobile kernel is developed by the company(microsoft and Apple respectively). so the OS is well optimised and both these OS are developed using C/C++ language. C/C++ doesnot use Garbage Collector for memory handling. because of this Windows and iOS performs well even under 512MB of RAM.
for more detailed understanding Why Android phones need 3GB of RAM and iOS gets by with 1GB of the stuff
Whereas in Windows Phone OS or iOS, the mobile kernel is developed by the company(microsoft and Apple respectively). so the OS is well optimised and both these OS are developed using C/C++ language. C/C++ doesnot use Garbage Collector for memory handling. because of this Windows and iOS performs well even under 512MB of RAM.
for more detailed understanding Why Android phones need 3GB of RAM and iOS gets by with 1GB of the stuff
Its because WP8.1 OS is a very compact one. Collaboration of 1Ghz Dual-Core Processor and 512MB RAM can serve its needs. Whereas, Android OS is a huge one providing lots of necessary + unnecessary features which then require a collaboration of a reliable 1.5 Ghz Quad core processor and 2 GB RAM to run as smooth as a WP8 OS.
Note: My windows 8.1 Dell Laptop just needs 2GB RAM and an i3 quad core processor which means it has less hardware requirements than Samsung Note2 and Note3. (3GB RAM & 2.2 Ghz OctaCore Processor for the latter)
Note: My windows 8.1 Dell Laptop just needs 2GB RAM and an i3 quad core processor which means it has less hardware requirements than Samsung Note2 and Note3. (3GB RAM & 2.2 Ghz OctaCore Processor for the latter)
I have rarely used Windows phone, so I can only provide theory. Lets say you have an HTC One M8 Android, the same phone but the Windows Phone model, and a similarly speced iPhone. They will all have different levels of responsiveness. This depends on how resource intensive that the operating system may be. I hope this answers your question.
Fact that a 512 MB RAM Windows Phone is faster than similar speced android phone indicates that Windows manages memory(RAM) more efficiently. I can think of following reasons:-
1. Windows has better algorithm for garbage collection. Due to poor garbage collection (freeing up unused memory from processes who have released it) in Android, device becomes slow over time.
2. C programs using malloc/calloc and not using dealloc can cause memory leak. It is then responsibility of OS to handle the situation and free up such memory. JAVA has its own garbage collector and hence OS need not take this responsibility.
Memory leak (When garbage collector is not able to free up memory from a process and process believes it doesnt have the memory) in android builds over time. A simple reboot every week can make android phone faster.
3. Android apps are not properly optimized. Developers often include heavy libraries in there code which need to be interpreted even if only single function from the library is used. This increases memory requirement of an application. Stock apps on Samsung phones are worst.
On the other hand WP allocates a memory quota to developers and developers work hard to optimize their app to stick to that quota.
1. Windows has better algorithm for garbage collection. Due to poor garbage collection (freeing up unused memory from processes who have released it) in Android, device becomes slow over time.
2. C programs using malloc/calloc and not using dealloc can cause memory leak. It is then responsibility of OS to handle the situation and free up such memory. JAVA has its own garbage collector and hence OS need not take this responsibility.
Memory leak (When garbage collector is not able to free up memory from a process and process believes it doesnt have the memory) in android builds over time. A simple reboot every week can make android phone faster.
3. Android apps are not properly optimized. Developers often include heavy libraries in there code which need to be interpreted even if only single function from the library is used. This increases memory requirement of an application. Stock apps on Samsung phones are worst.
On the other hand WP allocates a memory quota to developers and developers work hard to optimize their app to stick to that quota.
Its not the case that native android is slow or anything like that its just that in android due to the "open source" u have to build a lot of runtime libs files with the apk....so for working of the apk phone is requesting the transitions and data structures from the libs hence more ram is needed.....as per Samsung phones...those who say sammy makes bad phones or slow phone....u guys need to put aosp rom on ur device...samsung just packs in a lot of bloat that makes the phone slower.
Windows on other hand is the closed source os with no probable visual or graphical customization so it won't need more resources or libs like that in android.....hope this helps...;)
Can't get easier than this....;D
Windows on other hand is the closed source os with no probable visual or graphical customization so it won't need more resources or libs like that in android.....hope this helps...;)
Can't get easier than this....;D
It depends on the OS. In the case of WP, Microsoft themselves have given a blueprint of the hardware to the manufacturers and they have tweaked the OS to run perfectly in it. Also, WP does not have many background services other than few essential ones like chat, mail and few others.
Android on the other hand depends on the manufacturers to tweak the source code to sit the hardware. Also, many manufacturers focus only on improving hardware specs and do not focus on optimization of Android. Even worse, most android phones are filled with bloatware
Android on the other hand depends on the manufacturers to tweak the source code to sit the hardware. Also, many manufacturers focus only on improving hardware specs and do not focus on optimization of Android. Even worse, most android phones are filled with bloatware
That's not always true.
It depends on which Android device you're taking into account. If you mean Samsung, then forget it. It has such a load of crap that can slow down comets and meteors. Other phones have less of this bloat ware, but they do have it. For example, Sony, HTC etc. Now a days, the new Android phones are being launched with stock Android OS and minimum useless apps. Devices powered by Vanilla Android are beyond comparison. I hope this answers your question.
It depends on which Android device you're taking into account. If you mean Samsung, then forget it. It has such a load of crap that can slow down comets and meteors. Other phones have less of this bloat ware, but they do have it. For example, Sony, HTC etc. Now a days, the new Android phones are being launched with stock Android OS and minimum useless apps. Devices powered by Vanilla Android are beyond comparison. I hope this answers your question.
Big part in it, IMO, is multitasking and the scope of it. It asks for as much memory as you can give. WP doesn't have multitasking like Android. With Android you have lots of processes/services that run in the background and , of course, bunch of widgets and programs you have closed. But, as others have already mentioned,vanilla Android(Google's, unchanged/factory Android) works great with 512mb of RAM. Producers GUI-s , like Samsung's ToucWiz, consume additional RAM to the google's Android.
I really do not know much architecture, and I will comment as an user. I have both 768 mB Android Phone and a 512 mB Windows phone. The Windows phone does not have all kinds of apps that my Android Phone has, and at one point that was a good thing. Youtube for example is something that is not very good on the windows phone. But as time goes by the Android phone is becoming a piece of junk. First, it takes forever to launch the most basic phone application, the windows phone does it in a whiff. Secondly, it has Google Services, without which most apps do not work. Now with Google services in, I have to choose between any new application and Evernote...(Google services takes up 100 mb of the 385 MB of the available RAM...Whatsapp takes 45 MB, the Google Play store takes 22 mB, PO Box touch takes 20 MB, The Android system takes 15 mB and the Airtel app takes another 10 MB....and so forth).
This, in spite of the fact that all applications that can migrate to the SD card operate from there, including my browser and file manager. The Windows phone on the other hand is able to execute all my basic needs. I do not have to wait for an eternity to dial out or the pickup a call...I can install all applications that I need and windows can offer.
So, layers or none...my take on this is that the Android only works at a minimum of 2GB RAM for hassle free smart phone operations, until of course the next release, when it may require a 3GB RAM. Windows on the other hand seems equally at ease with 1 GB as does an Android with 3 GB.
All the best.
This, in spite of the fact that all applications that can migrate to the SD card operate from there, including my browser and file manager. The Windows phone on the other hand is able to execute all my basic needs. I do not have to wait for an eternity to dial out or the pickup a call...I can install all applications that I need and windows can offer.
So, layers or none...my take on this is that the Android only works at a minimum of 2GB RAM for hassle free smart phone operations, until of course the next release, when it may require a 3GB RAM. Windows on the other hand seems equally at ease with 1 GB as does an Android with 3 GB.
All the best.
See this video and it will help you alot & you will be able to increase ram on your android phone and make it much faster :
Hi Guys , My Tablet is Cursed with a 289 MB Ram which is poor for Multitasking and gaming.
Here we are going to see about Creating a swap which will move background running pages to swap file and gives the fore ground running apps a free space to work smoothly.
I have searched the Play Store and found the exact app for this process.
Advantages of this app :
- Free SD card memory as a RAM use (SWAP RAM / SWAP MEMORY)
- Swapfile RAM expansion up to 4.0 GB (file system limit)
- No limit on SWAP partition!
- The usual performance degradation when paged not occur with sd card from class-8
- Widget for PNP swap (swap on / off swap)
- Detailed Memory Information & Analysis
- Autorun
- Swappiness kernel parameter set
- Easy foolproof use (1 click optimization and automatic calculation)
- Supporting Tung all Android devices (root access and Kernelswap support)
Things needed :
Root permission
A Custom kernel with Swap support. (Check the XDA post of your kernel)
No Partition required
A Sd card of minimum class 4 ( Tweaked ) [Recommended:For best results , use a higher class Sd card}
Procedure :
1- Install The App ( RAM Expander (SWAP) )
2- Give Root Permission and Select your language.
3- Use the SWAP FILE Slider and select the amount of partition you want. (may be 100 MB - 4 G ~ 4000MB )
4- Use SWAPPINESS Slider : By setting the swappiness value, you can control the behavior of the kernel, the higher the value the more is outsourced.(Rec:60)
A Summary Of What You Need :
(1) Need Rooted Android Phone
(2) Class 10 SD Card
(3) Ram Expander App
Hi Guys , My Tablet is Cursed with a 289 MB Ram which is poor for Multitasking and gaming.
Here we are going to see about Creating a swap which will move background running pages to swap file and gives the fore ground running apps a free space to work smoothly.
I have searched the Play Store and found the exact app for this process.
Advantages of this app :
- Free SD card memory as a RAM use (SWAP RAM / SWAP MEMORY)
- Swapfile RAM expansion up to 4.0 GB (file system limit)
- No limit on SWAP partition!
- The usual performance degradation when paged not occur with sd card from class-8
- Widget for PNP swap (swap on / off swap)
- Detailed Memory Information & Analysis
- Autorun
- Swappiness kernel parameter set
- Easy foolproof use (1 click optimization and automatic calculation)
- Supporting Tung all Android devices (root access and Kernelswap support)
Things needed :
Root permission
A Custom kernel with Swap support. (Check the XDA post of your kernel)
No Partition required
A Sd card of minimum class 4 ( Tweaked ) [Recommended:For best results , use a higher class Sd card}
Procedure :
1- Install The App ( RAM Expander (SWAP) )
2- Give Root Permission and Select your language.
3- Use the SWAP FILE Slider and select the amount of partition you want. (may be 100 MB - 4 G ~ 4000MB )
4- Use SWAPPINESS Slider : By setting the swappiness value, you can control the behavior of the kernel, the higher the value the more is outsourced.(Rec:60)
A Summary Of What You Need :
(1) Need Rooted Android Phone
(2) Class 10 SD Card
(3) Ram Expander App
The comment where that guy said that Samsung can even slow down comets and meteors is hilarious. But he is true. When I use my mom's Samsung phone to browse internet, i never enjoy it. After using a windows phone for a year, when I try to use android phones, I feel like WTH. They are not as smooth as a Windows phone. I feel like I have went 10 years back in past.
From windows 8.1 onwards better you're having atleast 1Gb of ram, else 512MB ram is enough. But my friend uses Nokia 520 with 8.1 with 512Mb ram, No issues/lags at all.
Coming to android 2/3Gb ram requires(also depends on no of apps, i'm using 130 apps in android with 2Gb of ram fine not bad ) as Android lacks Memory(RAM) organization.
Coming to android 2/3Gb ram requires(also depends on no of apps, i'm using 130 apps in android with 2Gb of ram fine not bad ) as Android lacks Memory(RAM) organization.
No comments:
Post a Comment