iOS is twice as memory-efficient as Android. Here’s why.


Here's why the iPhone 6 can do with less RAM (outlined in red) than Android phones. Photo: iFixIt
Here's why the iPhone 6 can do with less RAM (outlined in red) than Android phones. Photo: iFixIt

When the iPhone 6 and iPhone 6 Plus were announced, many Android fans laughed at the “pitiful” 1GB of RAM of Apple’s flagship smartphone, when Android flagships tended to ship with 2GB and sometimes more.

But specs don’t always — or even most of the time — tell the whole story. As it turns out, an iPhone 6 with 1GB of RAM runs much faster than a similarly specced Android smartphone with 2GB of RAM. And it all has to do with the fundamental difference in the way iOS and Android handle apps.

According to Glyn Williams over on Quora, iOS devices run better than Android devices with twice the RAM because Android apps use Java, and need all the extra RAM to do something called garbage collection.

What’s garbage collection? It’s a process that triggers the recycling of memory once an Android app is done using it. Usually, this works pretty well on systems that have a lot of free RAM, but once you get a lot of different apps running, things start getting dicey.

According to Williams, Android’s garbage collectors work best when Android apps have 4 to 8 times as much memory as is actually needed in order to perform the garbage collection process. Once you stop having that amount of free memory available, performance starts suffering.

This is why Android devices need to have twice as much RAM to run apps as your iPhone does. And as we’ve previously seen, more RAM negatively affects battery life too, which is part of why Android phones need to have larger batteries to attain the same battery life as an iPhone 6 too.

As for iOS? The operating system doesn’t need all the extra memory associated with Java and Android, since it was designed to avoid this sort of garbage collection from scratch. It only needs the memory it’s using. What a radical idea, huh?

Source: Quora

Deals of the Day

  • NotReallyHere

    It is still a joke that Apple ship a 900$ phone with 1GB memory … A clean Java problem can run as efficient as a binary program, and Objective-C also use garbage collectors (OOP) … I’d say that the reason for 1GB memory in the phones is to save money. Also if 1GB memory is so great, why on earth then worry about 64bit … 64bit programs take up more memory than 32bit programs ;-)

    • vernillasky

      Objective-C does not use garbage collectors. If you’ve started programming for the iPhone in the pre iOS 5 days you’ll know that programmers need to manage the memory themselves through retain counts. These days, Objective-C does it for you intelligently through Automatic Reference Counting. There’s really no garbage collectors involved cause well, those things are garbage and belongs to Java.

      • Philip Schwartz

        Ah what do you think reference counting is? It is a way to denote to the garbage collector which is there in obj-c that there is a reference that can be cleaned up.

        Non-gc languages like C and C++ require you to free the memory on your own, I.e. C’s dealloc and C++’s delete.

      • vernillasky

        Can’t really argue with that. Perhaps I should use more precise terms. Java uses garbage collectors (GC) while Objective-C on the iPhone uses automatic reference counting (ARC). When the time comes to reclaim RAM, ARC enables you to autorelease and flush out all the garbage at once, while GC needs to hunt down and collect the garbage.

        This makes ARC the more efficient method as compared to GC. That’s also the reason why iOS does not employ GC even though OSX uses it. There’s a performance hit involved. But judging from your comments, I guess you already know that. So I’m not really sure about your stand in this discussion.

      • Philip Schwartz

        My stance is for ref counting collection as I am an avid Python developer and hate managing memory clean up.

        But remember even though Apple has decided to claim that ARC is not GC, this is not correct as it is in process GC via static bindings embedded during compile and used during deallocation.

        GC by definition is the process by which used and no longer needed memory is reclaimed. It doesn’t matter if it is via ref counting, mark/sweep, or even generational collection, they are all forms of garbage collection.

      • Richard Liu

        No, ARC is a completely different idea. ARC does NOT rely on any background process to collect memory. To save your time: the memory releasing call is automatically inserted into your codes by the compiler. When the last reference to the object instance is destroyed, the allocated memory will be released immediately as part of the function execution of the inserted codes.

        The compiler knows when to call release according to the “Scope” of variables. It is a basic concept of C/C++ language. Any variable declared in C/C++ is limited in one scope, which can be a function, an object, or the whole lifespan of the process. For example, when you declare a variable in one function, this variable is generated when the function is called, and destroyed when returning to the caller.

        If that variable (a.k.a. “local variable”) is a scalar variable (pure value, such as int, float, char) or an plain object variable (not with “new” statement), the memory space will be automatically allocated and released during the function call / return stage. However, if the variable is an object declared with “new” statement, it will be a little more complex.

        Object variable (a.k.a. “Instance”) declared with “new” statement will be allocated as lifespan variable, or “Heap variable,” which will NOT be automatically released when the variable reference is destroyed. And this is why Obj-C introduce Reference Count. If the reference count reaches zero, the memory space occupied by object instance will be released immediately after manually calling release.

        However, this method is not ideal since one function may have various return points. If the programmer forget to add release call in one of the return point, that space can never be reallocated again. It’s called “Memory Leak”, a traditional bug that plagues every C/C++ programmer since pre-history era.

        A decent to solve this issue is to use a local “Reference Object” instead of normal scalar reference (a.k.a. “pointer”) to the lifespan object. A Reference Object contains ordinary scalar reference as member variable and a “shared” reference count variable (a reference to a lifespan counter variable). When a Reference Object variable is created or duplicated, the object constructor will automatically increase the value of real instance of reference count, which will affect all cloned variables. When a Reference Object variable is destroyed, the object destructor will also automatically decrease the value of real instance of reference count. When the reference count reaches zero. the Object instance (and the reference count instance) will be release, as a part of the destructor code.

        You may also want to read the “Shared pointer” section of Boost library. It’s a open source library.

      • yawn


      • xared

        y did u even comment?

      • daniael

        arc does not “enable you to autorelease” anything. arc knows, from static analysis (at compile time) what you are trying to do and generate code for deterministic memory management for you, at the very same quality with human expert level grade code, without you having to be that expert! so this is the read deal, arc turns sunday programmers into experts, but unlike c#/java, does not exposes you to un-necessary memory requirements, lower performance and inferior/mediocre battery lifetime!

      • Guest

        Listen, go read some wikis on GC and ARC, enlighten yourself on the specificities & save the poor ignorant sheep from meh-ing about why iOS isn’t better than Android. Coz it is.

      • Guest

        Thank you for your posting your opinion. Your opinion is very valuable to us.
        Your internet connection is a waste. Go read the bible or something.

      • Tim Richardson

        And all the. NET languages. Reference counting is hard to do concurrently (more than one thread) Apple avoided garbage collection because it was a luxury the first iPhones couldn’t afford. But this was a compromise to favour old technology imposed by limited hardware.

    • josephz2va

      It’s called efficiency programming and GPU. As many are well aware, Samsung LG, HTC and other vendors throw bloated apps in. And all of them are active 24/7 for the most part unless you use an app killer program.

      That’s why Samsung is very slow in opening apps or changing views. Or using windowed widgets or split window. And why everyone hates apple’s clean organizer view versus widgets open 24/7 or split views which eat a lot of memory.

      If and when Apple decides to go for foreground widgets, split views, and more, they’ll need the 2GBs.

      • KingArt

        My Galaxy Note 4 is running very quickly without any optimization or mods unlike back on Galaxy Note 2. I can’t wait to tweak it and clear all the bloatware.

    • Roni Zobali

      Who ever spends 900 dollars on a phone is stupid you can get an amazing computer for the same price just get a nexus 5

      • CelestialTerrestrial

        people that are spending $900 on a phone are doing it because they want lots of storage for movies, music, etc. And they don’t want to hassle with SD cards.

        Now, the Nexus products do not auto sync other data from our OS X desktop/laptops so, we kind of want something that’s a lot easier and more feature rich as time goes on. we can’t use the Handoff/Contiuity features with an Android product so for OS X users, we ‘d be IDIOTS to use an Android/Nexus product. Nexus products were designed mor for Google employees so they have a platform to develop Android apps and is not generally seen as a produt for the masses. Google doesn’t even make/sell that many of them because they don’t want to bite to much into other OEMS Andorid mfg. And why someone buys a computer produt that is a private label and from a company that isn’t a computer company isbyond me. Google doesn’t give you as many future versions of the OS as Apple. plus, if you are in an Enterprise Environment, Apple has far more apps. many of us don’t want to deal with Android due to the vast number of malware, nor do we want to use a product developed by a company that wants to force us into one search engine, has less apps and less quality apps.

        Apple may not be perfect, but at least it isn’t some copy cat wannabe.

      • Tim Richardson

        I don’t get continuity very much. My Macbook syncs very well with my Android phone since I use gmail; every draft I start from any device is available on every other device immediately. All my docs are likewise available everywhere; even if I wasn’t using Google Drive, Dropbox would work anyway. My music is available on all devices. My books too (that’s with Kindle, it works fine with Play Books but I don’t use it). My tabs and browser history, passwords etc, they all sync between Chrome on the mac and on the phone (or Firefox, for that matter). I don’t have to touch my phone to sent a text or get notifications (PushBullet). OS X’s Bluetooth networking icon turns on Bluetooth hotspot on my phone; apparently that’s a big deal in Continuity: shrug, works here too.

        I can’t place voice calls from my Mac, but everything else works.

        As for malware, the only way you get it is if you install apps from dodgy appstores (disabling all the security). Apple has just given the same advice to iOS users, since that’s the angle of attack for the latest iOS malware. I know hundreds of Android users, and none of them has ever been attacked by malware. I think the threat is seriously overblown.

        As for not buying something from a “computer” company, why would you buy cloud services from a non-cloud company :)
        A “computer” is perhaps not what you think it is … my Mac has Intel brains, Samsung memory and a Sharp screen. Put together in a Chinese factory that Apple doesn’t own. Apple makes the OS, I grant you, based on an open source BSD Unix base. Not so different from Google, which makes Android, based on Linux.

      • Steven Santinelli

        Umm, actually you CAN make and receive calls on your mac, using Hangouts, aka google voice. I find it quite funny that my mac rings, along with my tablets when I get a call. Needless to say you can turn it off too.

        Honestly I think both environments are great, and I think Apple AND Google have come a long with with providing outstanding products.

        My fiance uses her iphone 6, Ipad Mini, and I use my G3, Nexus 7 and 10. We live quite fine in this world. She DOES mostly use google services though, which helps.

      • Kr00

        Now that’s a laugh. You won’t use a tech company’s cloud service but are happy to use one from a company that makes money from using your information to spam ads at you. And they call Apple users sheep. Only a moron would trust their personal details with a company like Google. So now we know what you are.

      • Tim Richardson

        It’s a misconception that google makes money from sending ads to you (although that is true of TV, radio, newspapers and magazines which presumably a person of your exalted intelligence avoids as they must offend you greatly). Google only gets paid if someone clicks an ad.

      • John

        Kr00 seems to have many misconceptions of google and apple.

      • Kr00

        No, have a look at there profit statements. It’s a fact. Sorry you’re deluded into thinking otherwise.

      • John

        Google has a better reputation than apple at protecting user privacy and properly implementing basic, modern security protections.

      • Syplex

        You can’t be serious. Plus, it’s not just Google sending ads but collecting personal data for advertising as well.

      • John

        It’s not just Google that is collecting person data, Apple is collecting personal data. Google gives both greater transparency and greater control to the end user with respect to the data that they collect. Google has made it possible to run a modern mobile OS which collects NO personal data, via the AOSP. Google knows that most people will choose to opt into their services, trading person data for free usage, because their services are excellent. Even most iOS users use google services, gladly giving up more personal data.

        But back to my point: Google has consistently done a better job of implementing user protections than apple has.

      • Kr00

        You keep convicting yourself of that. I can give you a dozen examples of googles lack of privacy. Show me where Apple use your data to spam you?!

      • Whocares

        nexus 5. That’s fking LG crap! Tell me not to buy a BMW and get a Hyundai, lol! Do you know why 3.0L German designed engine is not the same as 3.0L Korean engine? Same reason here for iOS vs Android.

      • Guest

        Either you are a billionaire or you are broke and can’t afford either. Cuz for a fixed budget, you’ll definitely find better deal with hyundai than bmw.

      • mathieulefrancois

        You have no idea what you’re talking about.

      • Bhargav

        man! i dont know how windows phone does it too but it runs the smoothest when it comes to low end hardware like on 512MB RAM…are u crazy? :p granted multitasking is poor due to less RAM…..this i have been trying to say for ages…but everyone has the crap spec mentality from android…

      • Steven Santinelli

        No offense, but I still believe the LG G3 is one of THE finest phones made today, even if I DO find it a tad big, preferring the size factor of the G2 (The gps was just horrible in that G2 so I bumped up).

      • Roni Zobali

        nexus 5 is the best phone for 350 dollars off contact, it doesn’t have to be an iOS device a Note 4 unlocked is 900 bucks also not just Apple devices. so it’s not iOS vs Android war it’s fucking common sense and a Nexus 5 you get the latest updates from Google not that carrier bullshit.

      • John

        Oh, that’s really not fair to iOS. Sure, the capabilities of iOS has been way behind android for many years, but they are finally catching up. They aren’t as bad as a Hyundai.

    • xared

      iOS Developer here. iOS never used GC (only on Mac some time ago and thats phased out with ARC now).
      Your say doesn’t matter if it’s vapour thought.
      64 bit access allow better memory management. For those video, audio editors and jockey apps. Also games.

    • Tallest Skil

      Shut up.

  • Philip Schwartz

    Wow, this shows that Mr. Williams has 0 understanding of computer science and the idea of Garbage collection. Maybe they should read a bit before writing at all. A garbage collector doesn’t use memory and force large memory requirements, but frees null references in memory that is no longer pointed to by any applications. The reason why android phones need more RAM is the well known fact that the Java garbage collector runs opportunistically when cpu cycles are least used. Developers can force it to run more often, but this causes performance issues due to the costly mark and sweep method the Java garbage collector uses.

    • Guest

      Finally, someone that makes sense

  • Shots fired.

  • ChrisC

    More research needs to be done before posting these articles. However it is certainly true that iOS runs a LOT faster than Android counterparts.

  • someguy

    It’s articles like these that give apple users a bad name, I’ve been using android, ios, and windows products for years so I frequently go to sites like windows central, android police, and cult of Mac, but rarely if ever do I see inflammatory articles about the competitions os’s on those other sites, it’s pretty sad, I’m disappointed in the direction this site is going in.

    • HSuke

      It’s called “Cult of Mac”. I’m not really sure what you were expecting from a site with that name.

      • John

        Most readers think its merely a fun play on words, maybe an effort to take the power away from the criticism that the hardcore apple lovers are mindless cultists.

        And yet, too often the articles and comments on cultofmac actually demonstrate mindless cultism.

  • Sean Clifford

    Then why does the new iPad have 2GB of RAM?

    • CelestialTerrestrial

      Because people tend to use more memory hungry apps on a large screen tablets than a smartphone.

  • AreYouKiddingMe

    Swift uses “this sort of garbage collection”. Secondly, that’s not what garbage collection is. GC is performed during runtime, not after runtime.

  • MrChris

    Funny. What absolute nonsense. The author of this article has literally no idea what they are talking about. How embarrassing.

    • tonyadams66

      Not embarrassing, the author hasn’t done proper research on the meaning of the “Garbage Collection” and the Java.

  • BananaMasamune

    Yet they neglect to mention that android can run apps in the background…

    • HSuke

      I always thought that multi-tasking was the biggest reasons Android uses more memory. No mention of that here.

      Can anyone elaborate?

      • Tim Richardson

        Computer coding is a type of economics, with trade offs between memory, speed and code efficiency. Runtimes went for GC for good reasons, although they do use more memory (and can’t be trusted for real time coding because GC can be deferred, but not forever).
        Originally it was an academic effort, but it went mainstream and is very established technology. Like high level languages. After all, a “real coder” would be delicately crafting assembly language by hand.

        But nothing changes the tradeoffs. In fact the new Android runtime is probably even less memory efficient. But it’s faster and more CPU efficient. Memory is so cheap it is a ridiculous thing to worry about.

        GC is probably better suited for a concurrent device; the memory management can run in the background, and can be deferred. There will be educated conversations on stackoverflow. The cPython runtime uses reference counting and this is a good study in pros and cons. Interestingly, the cPython designers primarily justify the decision as optimising single core performance, which is similar to the design intention of iOS. cPython has some big concurrency weaknesses because of this design decision. There are some very interesting ideas in transactional memory management which promises to solve reference counting’s problems. Swift did not sound innovative in the least when I last read about it, but perhaps I should look again. The memory management seems a lot like cPython. Yawn.

        As for the future of iOS: Mac OS was very late to pre-emptive multitasking. I’m sure there were lots of “good reasons” but in the end it was a move that had to be made because the gap between the OS and hardware capabilities, competitors and customer expectations was too vast. The result was the awesome OS X.

    • Tallest Skil

      If you had a point, you’d have posted it. Guess what iOS can do, kiddo.

      • John

        Not very well. But they’ll eventually catch up to android in that area, as well. 2014 was a big catch-up-to-android year for iOS. They are almost there.

      • Tallest Skil

        Okay, enjoy your delusions. Why not go post on a website where people don’t care if you lie?

  • steven taylor

    all I know is my iphone 6 is the first iPhone I’ve owned and thought “what happened to buttery smooth?” especially scrolling through the menu.

    • Chris

      You must have a defective iPhone because my iPhone 6 plus is smooth and my wife’s iPhone 6 runs just as good no lag, no screen stutter, something must be wrong with your device

      • Sputnik767

        Well, I use both a Galaxy S5 and an IPad Mini Retina on a regular basis. I also have an older Galaxy Note 8. Let me preface this by saying that I am not a programmer and couldn’t care less about the intricate details that underlying my OS. and I will tell you that my fastest device is my GS 5, with the iPad running about equal with my old galaxy note 8 in daily use. Sure, it does not have a high res screen and I get that it will task the hardware more. But it does have 2Gb of RAM. And the iPad mini is absolute garbage if I have multiple chrome tabs open. I don’t really care about the background, all I will say is that more ram is better. I am very unimpressed with my iPad mini.

      • Whocares

        claim without an evidence is just a claim. Benchmark never lies when iOS devices blow the crappy hi-end Android devices out of the water regardless it’s Galaxy S, Note, Nexus whatever…check Anandtech tests. Numbers don’t lie.

      • Sputnik767

        Umm, I guess you must have missed the fact that I have and use the device’s I mentioned regularly. I don’t care about numbers, I gave you my personal experiences. Sorry, my iPad mini runs on par with my old Note 8. In some respects, the Note 8 is better. And my GS 5 is better in all respects than my iPad Mini. Can’t speak for the iPhone 6 because I don’t own one. For the record, numbers don’t mean jack. This used the typical apple fanboy line, interesting how the tables have turned.

      • John

        Careful, what you are saying is sacrilege to the True Believers(tm).

      • Tim Richardson

        In any case, benchmarks are not as black and white as you say. Android devices usually crush iOS devices in multicore benchmarks. iOS hardware is traditionally optimised towards single core (non-multitasking) operation. This philosophy permeates the hardware (low ram, low number of cores) and the OS, which was completely hostile to multitasking for a long time. As I said above, system designers can’t invent their own laws of physics. They just choose a different set of compromises.

      • John

        >> Android devices usually crush iOS devices in multicore benchmarks.

        Exactly, to which iOS users cry “benchmarks don’t matter”.

        Then another iOS user will cry “benchmarks really matter” when it favors their beloved platform.

      • ctdrules

        Hmmm, a typical fanboy response. I’ve had an iPhone for years and loved it. Now have an S5 and love it. My Samsung is fast, easy to use, and works great. Is it better than an iPhone, maybe, maybe not. The point is, a user’s experience of a device and their opinion of that device is far more relevant than benchmarks. I’d rather read user reviews than testing results. Remember, there’s lies, damned lies, and statistics.

      • Kr00

        You’re using Chrome. There’s your problem right there.

      • John

        I agree. I’m also very unimpressed by the ipad mini, and very impressed with the GS 5.

      • John

        >> something must be wrong with your device

        Or maybe he just has higher expectations than you, higher standards of quality.

    • John

      I know right? I’ve only seen one in person, but i was NOT impressed.

      Meanwhile, the nexus 9 I saw was just amazing! Fast, smooth, beautiful.

  • TheCuddlyKoala

    Droid does….

    • Brandon Franklin


  • moofer

    “…work pest”?

  • Biebs

    If android has garbage collectors, then why doesn’t it delete itself? That whole operating system is garbage

    • Whocares

      Entire android OS is a garbage…that’s why it takes forever to clean up or it can’t delete itself. No more argument.

    • tonyadams66

      This because the garbage collection doesn’t clean itself. In order to clean the garbage collection you need to quit the app or kill it.

      If you run out of the RAM capacity it will make the performance slower also switching between apps will be lag or improper performing. The problem is that Android hasn’t properly designed on “memory efficient” as example on iOS which doesn’t use Garbage Collection but of course in Swift program it does have the Garbage Collection at least you have the ability to minimise the capacity in order to boost the app instead of pushing lot of binary.

    • guest

      Garbage collection cleans unused memory, like the ones you have in your brain.

  • eximorph

    Is funny see how people try tu put ios has the best in the word in all aspect, ios use less ram thanks to the lack of features. Android is able to run more heavy apps like psp emulator at full speed and sound. Apps like emulators required the doble or more resources then the original system ;) apps that not going to run yet has good has the are running on android ;)

  • mc5no4stp

    Why is no one pointing out that he is referencing Quora as fact. It’s like using WebMD message boards to self diagnose.

    • HSuke

      Well, there are plenty of Quora discussion topics that have great answers. I think the bigger problem is that the author referenced a Quora topic in which nearly every answer is different. There very little consensus in that thread. For such a technical question, Stack Exchange would’ve been a better reference.

  • Tim Richardson

    The radical idea is garbage collection
    Well, it was 20 years ago. It frees the coder from a notorious source of bugs. Ram has only got cheaper. That’s why it dominates modern IT. It’s surprising Apple hasn’t adopted it. Maybe later.

    • Babesh

      They did in an old version of objective c but got rid of it in favor of ARC. With Swift, even ARC is hidden from the programmer. Internally, Swift is still doing ARC.

      It would be interesting to see what is really under the hood instead of all the speculation.

      • Babesh

        Looking forward:

        iOS: More code taking advantage of specific hardware including GPU, ARC so no garbage collection pauses causing missed frames, a framework that has been in development for almost 30 years, prioritization of UI smoothness. Now with Swift, hopefully fewer crashes due to language protections including memory.

        Android: you have ART with conversion from byte code to native just once, less fragmentation with separate memory for bitmap data, decisions to go with UI that will run smoothly on lower end devices (no expensive blurs, alphas, pseudo shadows).

        It’s going to be more and more competitive.

    • xared

      Seriously, are you even able to code? You would have known better then

  • Ghost

    1gb of ram. way to go apple. ripping people off since 1976

    • xared

      It’s called Efficiency my friend. You don’t need extra RAM for bloated OS and apps in iOS.

    • Tallest Skil

      Enjoy your FUD. I guess $0.50 per post makes you feel good at night.

  • Pad level

    So it’s true, Android is garbage.

  • vampyren

    Funny sentence in the article
    “Android’s garbage collectors work pest when Android apps have 4 to 8 times as much memory”
    Shouldn’t it say “work best” ;)?

  • DarkMatter

    Putting all egos and feelings aside , I have used both Android and Apple phones and in my opinion both have their pluses and minuses , neither system is perfect and it’s all about choice.Frankly this war of verbal judo is getting old and in the end it boils down what is right for you. I use Android more specially a Samsung Galaxy Note 4 and in my opinion meets and beats the IPhone 6 and 6plus in several ways ,say what you will and by all means comment and bash away but in the end its my choice and preference , as a side note to be judged by your choice in Smartphone is actually pretty pathetic.

    • John

      Apple hasn’t had the best phone is many, many years. It takes them too long to bring their mobile products to market, by the time they do its already old.

      • Kr00

        Maybe you two would like to get a room?

  • I’m not surprised by this statement that iOS can run better on less ram. It’s one reason why I have be happy with my Windows phones. My Nokia 625 was a dual core and 512mb ram and killed my Samsung Galaxy Grand 2,Duos for speed and the Galaxy runs quad core and 1.5gb ram.

  • Basit Saeed

    Mr. John Brownlee, had you took intro to operating systems course at any time during your academic years, you wouldn’t be writing this post. The language that you’ve used to describe garbage collector clearly indicates your technical know-how of the core OS concepts.
    Now, in response to your biased, bigoted, and plainly ignorant post: (I’m dumb-ing it down so your non-technical mind can understand it) Android does use garbage collection, it is a fundamental part of Java (not to mention many other modern programming languages, including C++). The point in using garbage collector is to utilize memory that is in hold by resources left on the memory. These resources can be images load in other apps, webpages opened previously, etc. Java (the programming language Android’s largely based on) has been using garbage collectors efficiently for many years now. It’s a remarkable utility specifically designed for devices that doesn’t have huge amounts of RAM to let unneeded stuff floating around.
    Another reason that Android needs a garbage collector because, unlike iOS devices, Android devices allows user to multitask. There are literally many apps (background and foreground) running in the Android OS. A feature that Apple hasn’t come across yet. Try giving user the ability to multitask and we’ll see if it needs an extra RAM or not.
    Moreover, the comment on Apple’s battery efficiency made me laugh out loud. I myself read many articles on the poor battery of iPhone 5, 5C, and 5S.
    Next time, do a little research before putting up a post.

    • Jolly Roger

      Ironic that you berate someone for not knowing the subject matter while simultaneously (and incorrectly) claiming iOS does not allow multitasking in the same post. :) Apparently you never bothered to learn that iOS is a UNIX operating system where multitasking is a key feature.

      • Basit Saeed

        Not half as efficient as Java and Android’s.

      • Kr00

        Oh yes, Java is efficient (lol).

      • Jolly Roger

        If you believe that, you clearly haven’t bothered to learn much about Java memory management. Java’s memory management (in particular garbage collection) is quite inefficient in constrained memory situations that exist on smart phones.

      • John

        You are either being dishonest or stupid if you think the multitasking capabilities of the OS kernel are relevant to this discussion. Context, Jolly, context!!!

      • Jolly Roger

        Berating someone else for not knowing the subject matter while simultaneously proving you don’t know much about the subject matter is humorous and ironic, no matter how much you object. The fact is iOS has supported multitasking from day one. And one could argue that Apple’s method of application management is better for battery life and memory usage compared to the way Java (oops Android) does it. ;)

      • John

        If you want to critique the quality of that person’s post, you can (and should!) do better than to misrepresent the multitasking related claims.

        OBVIOUSLY ios ‘multi-tasks’ at the kernel level. I don’t think there has been non-embedded OS in 20 years which didn’t. Even most embedded OSes do.

        Clearly he is talking about the inability for the *user* to truly multitask, which has been a major problem and limitation of iOS since the beginning.

        Bringing up this other definition of multitasking is a common equivocation-fallacy smoke screen used by dishonest and ignorant iCultists. Don’t sink to their level.

        While apple has made some progress here, Samsung and others have blown them away. Its embarrassing.

      • Jolly Roger

        Blown away? Hardly. It seems to be working just fine for the overwhelming majority of Apple’s customers. Apple’s method is significantly more energy / memory efficient, and doesn’t force users to manage their own apps and memory like your grandfather’s operating system forced you to do ten years ago. Your claim that Android’s is automatically better smacks just as much of DROIDboi-ism as my statement. :)

  • Amit

    Hey author have you heard of ART which is the default run-time for Android L? ART will make this article obsolete. Besides iOS is still trying to catch up with Android while Android is always be ahead of the competition

  • Johan Marais

    Well Windows 3.11 needed less ram than Windows 8 but Windows 8 can do more.

  • Jk Jeeks

    And what about Lollipop? Those apps not longer run on Java runtime but run as native apps.

  • Gal5

    While technically correct, it is commercially incorrect. When all this cost reduction of the extra 1GB RAM produces a 70$ usable IPHONE, let me know. Until then, this is irrelevant.
    How much does an extra 1GB RAM cost, when a RAM chip is already needed (so one just needs to increase the die size)?

    and the freedom one gains is clearly visible with the endless diversity of Android phones, media streamers and what not.

    • Tallest Skil

      Nah, you’ve completely missed the entire point.

  • What a technically inaccurate article. Ever heard of ARC? Go ask any iOS developer what it is. It’s garbage collection. And while Android apps are written using a Java syntax, it isn’t a Java VM that is running those apps. Perhaps you should do a little more research before mommy lets you take the web site out for a drive again?

  • John Galt

    I don’t know about that. IOS still needs some kind of memory management, and I’m skeptical about the reserve memory size that Apple is claiming Java requires here.

    A more useful article would explain how Apple’s garbage collection model compares to Java’s, or perhaps how their memory scavenging is superior to garbage collection.

  • MikeLaster

    It runs as fast as Apple wants it to. And the execution speed depends on how close is the next iThing coming out. Each iOS upgrade is slower unless you upgrade your hardware too. Period.
    And for those of you accepting that as an unavoidable fact let me give you something to think about:
    – Would you find acceptable that after a PlayStation or XBox software update all of your games started lagging?.
    (Don’t say that consoles and phones are a whole different animal. I develop for both. There is no denying that they are indeed different in some aspects, but at the end of the day they’re both computers).

    • John

      Google, on the other hand, has made my nexus 10 run *faster* with successive OS upgrades.

      Thank you google!

  • mathieulefrancois

    Whoever wrote this article has zero understanding of how an OS and memory works.

    Android phones take up more memory because screens have been much larger in pixels requiring larger bitmaps.

    If there wasn’t an issue with RAM why do Safari tabs keep reloading? Don’t give me the BS that it’s not RAM related because it most definitely is.

    “articles” like this are exactly what give Apple users a bad name because people parade around spouting off this kind of garbage as fact when reality is quite the opposite.

    The main reason Apple doesn’t throw in more than 1GB RAM is cost savings and profit.

    • Rafterman00

      Name another app that has a RAM problem in iOS.

      No one has ever been able to come up with another one besides Safari. Saying you have more RAM doesn’t give you crap in terms of actual use, its just looks nice on the pec sheets.

      • mathieulefrancois

        How about multitasking? It’s definitely not perfect on iOS. It’s still not true multitasking and this is indeed something that would improve if there was more RAM.

        Having more RAM definitely has many more real world uses than just what looks good on a spec sheet.

      • Kr00

        Only a moron would program apps to continue to use RAM in the background. Best way to kill UX and CPU performance, which is why android device have to over spec their hardware.

      • mathieulefrancois

        That’s hardly the case… But if you don’t want to open your eyes and keep believing that true multitasking is for morons go right ahead… It’s your loss

      • Kr00

        Lazy programmer would do that, but there’s always a better way. You don’t believe in efficient programming then?

  • Brian Peixinho

    You guys are getting way too technical for the common user. I will sum it up. My iPhone 6 runs more smoothly than any Android device I have ever used. Period. I am a tech nut that goes in and plays with all the newest and best gadgets from all manufactures. I don’t know all the ins and outs but iOS runs very smooth. And even the argument that newer versions of Android crash less is very misleading. When an iOS app crashes, BANG, you are sent to home screen in like a second. Android? It gets stuck. You have to hard reset, take battery out (if possible) and scream and bang the phone. It is never a quick dump. I have used both extensively and iOS is much smoother. Android has some very good options such as their sharing platform is much better than Apple. MUCH BETTER! But for normal use, I will stick with iOS. I can hear all the hate but I don’t care. I think a lot of Android users get stuck on the geek stuff and don’t have lives. Busy people just want a phone that works nicely and runs the same all the time. For example, the GPS on my girls Samsung and other people I know always gets stuck. The weather will be from the city she was in three days ago. Dark Skies and an iOS App that is great at saying when the rain will start and for how long. Developer doesn’t even make it for Android because the “platform isn’t stable.”

    • John

      >> When an iOS app crashes, BANG, you are sent to home screen

      Wrong. I have had several iDevices suddenly reboot on me when they have memory issues.

      • Brian Peixinho

        Weird. Have had iDevives since first iPod touch came out and I think one time I had an iPad reboot. Once. I don’t hack and jailbreak my stuff. Not sure what you’re doing…

      • John

        I’m running apps downloaded from apple’s play store. No jailbreaking or hacking involved.

        Your post, based on your personal experience, implies that apple has achieved a level of quality and reliability in which all program crashes are recovered seamlessly. Even though they control every aspect of the platform, they have failed to achieve that level of quality. That’s all I’m saying.

      • Brian Peixinho

        My experience as well as many others. Look, let’s be honest. iOS runs smoother than android. Simple. They both have issues. No system will ever be without fault. But one runs smoother and apps run better on iOS. That’s really not an opinion at all.

      • John

        >> iOS runs smoother than android.

        I haven’t had much personal experience with iOS 8 or the iphone 6. Last month my iOS friends hated iOS, and told me there were a lot of problems with iOS.

        I can say that Lollipop on the Nexus 9 kicks the crap out of every iOS device I’ve really spent time with, in the past. You can say that’s irrelevant, because that’s comparing the latest and greatest of one category to slightly old tech in another. Fair.

        But iOS users have been telling me for years that iOS is supposed to be *so* much smoother and faster. And when I did a side by side comparison in the past, I was not impressed with iOS.

        But I can see reasons why some iOS users may *think* that android is laggy – its a grab bag in the android world. You have to shop carefully. There are a lot of poor quality android devices.

        Oh, and touchwiz. Touchwiz exists, unfortunately.

      • Brian Peixinho

        Well I will admit many iOS users are idiots. That’s all I can say. I’m not one of them. Long time tech enthusiasts and user of all systems from the late 80s up until now. But I hear u. Use what works for you. For me, I cannot imagine not having iOS and its many uses that they never even speak of like rock solid location based reminders and hands free operation. Just not available on Android – yet. And the GPS on three Android devices I have used get caught up for some reason. Not sure why. I have a very unique use for my device so I am very biased. I just don’t see people using Apple products to their potential. At all. Lots have them to be “cool”

      • Brian Peixinho

        So you think iOS devices run as poorly at times as Android does? I don’t get how people ignore obvious issues. There are glitches with Android that you just don’t have with iOS devices. There is a price to pay for all that freedom. The devices don’t run as smooth and they have double the specs on many devices. I’ve owned Android devices. I loved it but the constant GPS issues, getting hung up and just not as smooth – just isn’t – made me go with the simple and efficient iOS system. It’s nice. Period. For geeks that love to customize everything for some reason, android is great. Have fun.

      • John

        >> So you think iOS devices run as poorly at times as Android does?

        *At times*, and when comparing certain devices and certain use cases, than yes, emphatically, iOS runs far worse than android does. But that’s just obvious, and should not be relevant to anyone’s product choices. What matter’s is “Will it work well for you, for what you want it for”.

      • Brian Peixinho

        Lol. Ok. You are clearly insane if you think Android runs smoother than iOS. It just does not. At all. I’ve used both extensively and I laugh at work when people look at a simple weather app that is stuck on their city they were in the day before.

      • John

        >> You are clearly insane if you think Android runs smoother than iOS

        Sigh. It’s more intelligent, probably, to compare specific devices running specific OS versions than to try to generalize the platform based on various hardware-related and platform-tweak-related issues you’ve observed.

  • Jezebel

    I like my iPhone 6, but it still feels like it needs an extra gig of memory at this point. Often see app/safari tab refreshes. I’m all for efficiency and getting the most out of the memory available, but at this point the iPhone 6 is pushing it with 1gb.

  • There is no question that a closed system can manage its resources better.

    Also dont forget that Apples huge profits are coming out of customer’s own pockets!

    • Kr00

      Where as Googles profits come from selling your data to make money. Hmmm, that’s a hard choice, not. I’m sorry you think that a transparent way of making a profit is so wrong.

      • The point is even when you are on iOS, you are using Google because there is no match to what Google offers in services. So learn to live with it, your data will be sold… as long as you are using free services.

      • Kr00

        No. I don’t use any Google services. Learn to live with it.

  • Dave

    This person has no clue about programming at all. Garbage collection has to be done programmatically or automatically no matter what programming language is used. A language like Java does garbage collection automatically. The programmer must programmatically collect garbage to avoid memory leaks in other languages. This process may use a similar amount of cpu and memory in both types of programming languages.

    Stop trying to justify having to buy a phone with significantly lack of hardware for a ridiculously high price by blaming Java or Android. Go and weep in your bed by wiping your tears with the iPhone receipt instead.

  • ciph3ro

    If it’s so efficient hen why does my OnePlus One get much battery battery life than the iPhone 6+? :) The battery size is about the same I think. Honestly I didn’t look it up.

    With 3Gb of RAM, 2 more processor cores, although power distribution architecture is different..

    I think most Apple/iPhone fans would be surprised with using a OnePlus, HTC or Nexus device at how smooth it is and how the apps are not optimized well. With Kit Kat it’s just ridiculously smooth. I’ve been using a Nexus 9 and it’s beyond words nice. It’s a revelation for Android as an experience.

    I did recommend the IP6+ to a friend because he’s all into iThings and asked which phone to get. He’d be a bit lost on Cyanogen even though amazing once you learn its superpowers. Everyone else I know has (in order of frequency) Samsung S4/S5/Note3, Nexus 5, OnePlus One, HTC One or LG G3. I’ve also seen two Sonys and a Blackberry lately. Seems to be different here in Canada compared to the US though.

    I haven’t seen anyone get an iPhone 6 yet and barely any 5S’s even.

    • Kr00

      Maybe you need to get out of Google headquarters every now and then. Haven’t you seen the sales figures of the 6? Clearly not.

  • daniael

    iOS doesn’t use garbage collection! because it’s memory hug, non deterministic (you do not know, nor you can control when it takes place) and very low in performance.
    iOS (and OS X) frameworks use ARC, which is a compiler lever deterministic memory management, based on ref counts and static analysis. basically this is like the compiler figures out what one should do to do manual refcounts and does it for you, transparently, deterministic and performant. cheap frameworks like java and .net do not even dream to have such capabilities
    also, about java (or c#) being able to “run as efficient as a binary program” as you called it, well, there is a jit (just in time compiling) but it needs to run and guess who pays for that (in terms of required memory and battery waste) you do! what you call by “binary program” is actually register code (talking directly with the cpu registers). this is what objective-c and swift generate. on the other extreme, mediocre compilers like java and c# generate “stack based” or managed or pcode. the virtual machine has to interpret or jit the stack based to register based and that is of course, at user cost (high / un-necessary memory requirements, low performance, un-deterministic behavior, inferior use of hardware, inferior battery life, basically inferior everything!) and these issues are not solvable by the new arc vm, which is only doing an install time instead of jit. see for yourself if you do not believe me. on top of that, the java / c# so called generics are not a compile time polymorphism (as in c++ or delphi) but an inferior typing bandage, to give you the impression that you are doing templates, when in fact, performance being mediocre, to say the least…

    it is well known that a c/c++/objective-c application would run in 2-10 times faster (with or without jit) and would require 3-10 times less memory!

    this means that if apple processors were as bad as the other android ones (which again, it is not the case, apple processors are 64 bit optimized for what they do, to do it best) then current 1GB of Apple RAM is equivalent with at least 3-5GB android RAM while the performance is completely superior and deterministic (you always get the same response time, not matter what).

    the last but not the least, this is the main reason for apple hardware to have at least 1.5-2x better battery lifetime!

    so, like they say “fast is good, slow is bad” :-) and, guess what, there is NOTHING google can do about it… :-)

    • Kr00

      ios is written using swift now, or did you miss that memo?

      • Jolly Roger

        No, the majority of iOS is written in Objective C.

  • Android has always been synonomys with garbage collection.
    People who buy Android devices are garbage collectors.

  • theDude

    You also have to remember the kind of RAM, the on board cache in the processor. You also have to remember the memory compression Apple uses on both iOS and OS X, I wrote a long thing about this topic and garbage collection was just a part of it.

    not to mention swift / objective-c / c low level architecture *drool*

  • albeesure

    Also having more ram than you need will lower battery life. So I can understand apple not doubling the ram if they think they don’t need it.

  • Robert Mauro

    Here’s the reality.

    iOS and Android do things differently. iOS apps generally do not include a ton of background services, nor does iOS allow multi-window or multi-screen multitasking, thus, quick garbage collection is smart.

    That means iOS needs less memory…

    …but lacks in certain areas, such as notifications not being instant for various apps, and an inability to multitask a dozen processes/apps, or have multiple apps open on the screen at once.


    Android (especially on tablets, and more especially on Samsung devices, including phones) allow running apps simultaneously, along with tons of notifications (ask iOS users how well many background notifications work on iOS, such as Google’s). They allow (like every Samsung device) more than one app on the screen at a time. They also allow task switching – I often do an SD card copy that takes half an hour, then switch to a dozen other apps, and back and forth, while the file manager app runs in the background (until I pull it back to the foreground). That requires lazy garbage collection, and thus more memory (since I might literally have a dozen apps running at once, doing something). Since there’s no “exit program” button, Android assumes they are open and running, and allocates memory and keeps it there until it is forced to recycle the oldest. Or, one can use the very simple task manager and swipe an app clsoed.

    The disadvantage is my memory footprint is much higher. The advantage is that I can multitask a lot of apps that actually are still doing things in the background.


    Inotherwords, they are two very different OS’s geared for two very different things. Both use memory equally as efficiently, but both use it vastly differently.

  • KingArt

    Disclaimer: NOT A FAN BOY OF BOTH.

    i have both a iPhone 6+ and Galaxy Note 4. The apps stay alive and open faster on the Note 4 than the iPhone 6+. If I switch apps on iPhone 6+ to do something then tries to go back to the old app. Alot of times the old app is killed already. But the iPhone 6+ is noticeably more battery conserving than the Note 4 (unless heavily optimized) that’s for sure that’s why the Note 4 has a fast charge function (that really works) and has a replaceable battery.

    I still think iPhone can have more RAM IMO.

  • A Computer Scientist

    Not even remotely true… Java’s garbage collection may have been that bad 15 years ago and Android may have been sluggish when it first came out, but this is certainly not true anymore.

    I guarantee you none of the folks writing about this know what garbage collection is or how it works in Java.

  • TongGS

    Apple cult is so great… It can brainwash people to believe that system with less RAM and relying on Virtual Memory (or Swap file) is more superior…

  • TongGS

    Sorry sir, but you went full retard.

    iOS and OSX also have Garbage collection process. In fact Computers with memory have the process.

    The reason iPhone could run on 1 GB RAM is Virtual memory. iOS and OSX come with Virtual Memory that can’t be disable and its size can be as big as 4GB.

    Virtual Memory also know as page file and swap file. It’s a technique to let computer running with less RAM. Virtual Memory considers to be inferior as its bandwidth and speed is inferior than RAM. Normally, on mobile device Virtual Memory is Flash memory and for Desktop/Notebook it’s hard disk. Cheap Android or Fake Android phone also using this strategy. Lot of Fake Samsung Note coming with only 512MB RAM and around 1-1.5 GB Virtual Memory so it could use any apps as real one but at slower speed.

    The other reason they need less RAM is iPhone is No Java phone. Java is “write once, run anywhere” (WORA). Its didn’t compile source code in to binary on specific system but into binary for Java Virtual Machine (JVM). Therefore, in order to run the code, the system must have JVM to run it. JVM is resource hungry but who cares when RAM and CPU is a lot cheaper this day. While developing cost is more and more expensive. And clean Java is also memory efficient. It might run at slower speed as it run through JVM but for everyday apps people wouldn’t notice the difference.