Hacker News new | ask | show | jobs
by InclinedPlane 4612 days ago
Either way someone suffers, kind of a silly dichotomy. Especially when modern android smartphones, let alone tablets, have 2GB of RAM.

Also, Apple has the power to mandate that all apps have to run well on whatever old hardware Apple wants to keep supported. There's no good excuse.

1 comments

Android devices switched up to high ram co figs because they had to. A typical Android device runs a ton of stuff in the background such as Facebook uploaders, sync services, location trackers, carrier services, manufacturer UI shells and crapwear, etc you just don't get on iOS devices. To be fair, a lot of these services can do useful stuff and the freedom to run stuff like that is one of the reasons some people like Android, but the result is a much larger overall memory utilisation.

Apples approach to extending background services was to engineer a 'motion coprocessor' to handle one class of background tasks as efficiently as possible. Samsung et al just saw the memory utilisation on their devices go up from the services they're running so they jacked up the installed memory.

The second consideration is battery life. Memory uses battery power all the time, whether that memory is doing anything useful or not. Apple is fanatical about power conservation. You don't get 10 hour battery life as a standard feature on your mobile devices by accident.

Whether to keep background processes and how many to keep is trivially configurable in Android though. So if Samsung wanted to skimp on RAM they could totally do so. My wife's Galaxy Nexus had 1GB RAM and Android 4.3 works fine there but compared to my Note 2 the multi tasking suffers. Anecdotally though I have had much lesser page reloads on Android devices even with 1GB RAM.

So yes Android will use more memory if there is some available but there's no evidence to suggest it needs more than iOS.

So what you're saying is that in your personal experience Android devices with 1GB of RAM suffer in multi-tasking. And yet you also say there's no evidence Android devices need more RAM?

BTW, there's another class of software Android devices run that consume more RAM. UI widgets. Now that's perfectly legitimate. If you like widgets, Android or WP are the way to go. It's just that they have a cost in RAM utilization, and therefore device memory specs and power consumption. If Apple supported UI widgets, they'd have to also increase memory capacity to maintain system performance and stability, so they don't. This is an area where reasonable people can have a difference of opinion. Apple prioritize battery life and lean system design, Android emphasizes features and customization.

> So what you're saying is that in your personal experience Android devices with 1GB of RAM suffer in multi-tasking. And yet you also say there's no evidence Android devices need more RAM?

No. I am talking relative here. Relative to my iPad my 1GB Android devices ( N7 (2012) and GNex) reloaded browser pages or lost background audio/video playback noticeably lesser. However on my Note 2 which has 2GB RAM, I very rarely see browser page reloads and don't remember having lost background audio for example at all (something that happens routinely on iPad and sometimes on the N7.)

So what I am saying is that Android devices don't _need_ more than 1GB - anecdotally they offer slightly better multitasking performance for the same 1GB than the iPad. But both on Android and iOS - the experience will get appreciably better with 2GB RAM given how smoother my Note 2 is and given how many times my iPad reloads/loses stuff. (Just check the diagnostics logs for low memory on iOS devices.)

That's interesting. However I've read that iOS doesn't have built in garbage collector, automatically forcing you to write apps that consume less memory.
That's not quite true. Garbage Collector isn't a developer's magical ticket to write careless memory hogs. Android devices have a per app (process really) limit of how much heap memory they can consume. It can be anything in between 32MB to 256MB depending on the device. So developers still have to be very careful to not consume any more memory than absolutely necessary so that their app continues to work on as many devices as possible. Besides frequent GC will pause the app and ruin the experience - so there's that to worry about too.
Why ? It's not because I'm trying to be a nice citizen in the memory part of my app that I use less or more memory. It's the developer choice that will take care of that, and not the way we clear our path.