5

John Brownlee wrote, in 2014, on Cult of Mac:

iOS is twice as memory-efficient as Android

[...]

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.

[Explanation that Android apps use garbage-collected Java, while IOS does not, and that garbage-collected apps require 4-8 times as much RAM.]

This is why Android devices need to have twice as much RAM to run apps as your iPhone does.

Did the iPhone 6 run as fast as an Android phone with twice as much memory, in 2014, due to more efficient memory management?

  • Comments are not for extended discussion; this conversation has been moved to chat. – Oddthinking Nov 5 '18 at 12:11
  • 1
    Can you offer a little more detail in the question? "run as fast as android" while doing what exactly? There is a lot of misinformation in that article that stems from a misunderstanding of terms and what the two operating systems do differently, so an idea of what the exact claim is will make it easier to give a precise answer, rather than devolving into listing hundreds of applications and processes with initial boot speeds, RAM usage, and access speeds (which will vary even on the same device based on what processes are running concurrently) – AAlig Nov 5 '18 at 18:20
  • @AAlig: The OP's opinion on these factors are not relevant. The question is what did the claimant mean (and perhaps what would most people understand by the claim). Have a look at the article for context and if definitions are needed, put them in your answer with a justification of why you chose them. – Oddthinking Nov 6 '18 at 0:04
  • 1
    Even reviewers of the most recent flagship phones have claimed the iPhone runs well with less memory than android. The original claim contains too much speculation about why this might be true (garbage collection might be totally irrelevant) and not enough solid evidence that it is true. And too many answers are assuming that it isn't true any more because the explanation for the iPhone 6 is unlikely to still apply. How about evidence rather than theoretical speculation? – matt_black Nov 6 '18 at 0:22
  • @Oddthinking I'm not asking for the OP's personal opinion, I am asking for the basis of the claim. The article is nearly incoherent from a Software engineers point of view due to the misuse and mismatching of terms and the (frankly nonsensical) explanation. All the article addresses is that android uses more memory, with a line about how that makes it faster, which does not follow. The article is talking about apples and suddenly says, "we have tastier oranges", then goes back to talking about apples. That makes the claim nearly impossible to debunk because of how vague it is. – AAlig Nov 6 '18 at 13:30
-3

This is a question loaded with nuances, and has since been overtaken by events.

The short answer is: when that article was written back in 2014, that might have been somewhat true. Today, it is either not true, or not nearly as true.

One flaw in that article is that there are no hard measurements, as in comparing two nearly identical apps on both systems. So the statement that iOS is 'twice as efficient' is pure hyperbole, because the author made no attempt to validate this. iOS might be more than twice as efficient, or it might be only 50% more efficient. Much is dependent on what the app is doing, and how the developer wrote the app.

It is important to make a distinction between static RAM, where apps and images are stored when they aren't being used, and dynamic RAM, which is quite a bit faster, where apps and images (and other things) are stored while the app is actually running. You can buy a phone with 64 gig of memory, but that's slow static RAM. High speed dynamic RAM is quite a bit more pricey, which is why iPhones tend to have 1 gig of DRAM, while Android phones have 2. Another reason SRAM is used is - it doesn't lose its contents when the power is turned off, while DRAM does lose it's contents on power down.

According to the article, iOS is more efficient than Android because Android apps are based on Java, and subject to periodic 'garbage collection', while iOS apps are not.

This all revolves around how an app uses the phone's DRAM while it is running. The app will have whatever images it displays in DRAM, and it will have whatever data it needs, maybe from internal sources (such as a game) or maybe from a server (news grazer), also held in DRAM. When the developer writes the app, they allocate DRAM memory as they need it.

Java manages memory for the software developer, freeing the developer from the need to free up memory that they have used. True that this isn't necessarily the most efficient approach, in that used memory can pile up until Java goes and clears out what isn't being used any more.

Originally, iOS apps required the developer to do this. It's a more efficient approach, but much more tedious. The upside is: a well written iOS app will use a minimum of memory, and will return that memory for usage as soon as possible. The downside is: when the developer has to manage all memory, it takes a lot longer to develop the app. And, if the developer doesn't get it exactly right, their app has a 'memory leak', in that they forgot to free up some memory they used, and the app will continue to consume memory until it has used all available DRAM, and the phone crashes.

So, originally, while iOS apps were more of a headache to develop, they tended to be more efficient and load faster than Java based Android apps, because the developer took care of memory management, which is more efficient than Java doing it for you. That was true as of when that article was written: 2014.

I say 'originally', because as of 2018, both of the development methods for iOS: Objective-C and SWIFT, also have a Java like garbage collection management method to relieve the developer of that tedious task, so they are now in the same boat as Java... with a 'garbage collector' that frees up DRAM memory the app no longer uses.

I am currently working on a system that has both Android and iOS client apps that do the same thing. While iOS in general tends to be simpler to develop apps for - Android's development tools can be maddeningly inconsistent at times - and iOS has a richer set of features the developer can use, I haven't seen that the iOS app is really much more efficient than Android when performing the same task.

That's comparing two apps that do the same task, with the iOS app written in Objective-C, with the automatic garbage collection turned on. (the developer can turn this off, if they're feeling particularly masochistic)

  • 1
    This site requires that answers have sources so everyone can verify that they are correct. You should add some before this answer is downvoted or deleted. – Laurel Nov 5 '18 at 23:47
  • 1
    "So the statement that iOS is 'twice as efficient' is pure hyperbole, because the author made no attempt to validate this." But neither have you. I spent about 5 minutes confirming that the fastest Android phones on the market in 2014 where much slower than the iPhone 6 with half the RAM according to at least one benchmark (AnTuTu). (I had hoped that the claim might fall at the first hurdle, but no, it didn't. I have no evidence about whether that is related to memory efficiency though.) – Oddthinking Nov 6 '18 at 0:02
  • 2
    Again, this has no actual evidence and wastes a great deal of speculation on why iPhones might be better. That "why" might be completely wrong . Why not look at actual evidence about user experience or speed of the two varieties of phone (BTW latest reviews still seem to rate the iPhone as performing better with lower DRAM than typical android flagships). That's objective evidence, not useless speculation. – matt_black Nov 6 '18 at 0:16
  • @Oddthinking: No, I did not validate the idea, just point out that the article referenced was both out of date, and overly vague as to how the 'twice as fast' figure was arrived at. As the type of apps that a mobile device can run are extremely diverse in nature, even published benchmarks can't really answer that question. It is up what the individual does with the device, what apps they run. iOS tends to provide the developer with better tools to use, so it will have somewhat of a performance benefit. However, given the typical use of the typical mobile device, the difference won't be huge. – tj1000 Nov 6 '18 at 0:18
  • [Let's not muddy the water with "twice as fast". The claim was "Faster, with only half the memory".] While the article is a little vague, The claim might well be based on the personal experience of the author, but the onus is on the Skeptics.SE answerer to bring the objective facts to the table. I think we can assume they mean "in normal use", and benchmarks that try to mimic normal use should be fine. AnTuTu suggests that the claimant is right that the iPhone 6 ran faster than leading Android phones with >2x RAM, but I agree that is merely one benchmark. – Oddthinking Nov 6 '18 at 0:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .