Hacker News new | ask | show | jobs
by gideon_b 2053 days ago
Battery life is easier to market than an acronym that sounds like it's either related to trucks or sheep.

RAM eats battery. Apple has made a strategic decision to pretend RAM doesn't exist, ship underpowered hardware, then brag about the battery life.

This is also the reason RAM is not listed on iPhone specs.

If I remember correctly the iPhone Pro 12 Max has twice as much RAM as the other 12 models and it's nowhere in the marketing materials. This is not accidental, it's a fundamental part of Apple's strategy.

EDIT: The max has 6GB and the rest of the line has 4GB. That is not twice as much. I did not remember correctly.

2 comments

The performance of the phones seem to be smooth compared to Android phones with similar ( or more) RAM. The difference comes from vertical optimization, so the raw numbers on RAM would not give us a full picture.
It is not straight comparison.

The relative openness of Android means your are not always getting the most optimized ROM , a lot of vendors add custom crapware into their phone OOTB.

The vendors, who also design phones are not optimizing vertically, as you mentioned.
The whole Android ecosystem is mostly written in Java which could also be another reason why it needs relatively more RAM for comparable performance.
While Java GC on Android may not always be optimal in regards to memory utilization (given that there are other concerns) and AFAIK doesn't allow tuning like you can do for enterprise Java apps it seems like quite a few improvements have been made over time and many GC implementations have resulted from this: https://proandroiddev.com/collecting-the-garbage-a-brief-his...

Personally, i'd look at how common cross-platform apps are and how many of the frameworks (like Ionic and React Native) don't always use the native system UI in an efficient manner.

It seems a bit like running Electron apps on GNU/Linux and being puzzled about where all of the RAM goes.

The Native UI in React Native is where Native comes from in the name. Nothing to do with an electron app which is a full fledged browser with a node process attached to it. Not a fair comparison by large
And yet, that is not the case! While ReactNative might not result in quite as big of a performance penalty as embedding a browser engine, its performance can still be worse than actual native apps, given that it adds additional abstractions to make developer's lives easier and allow for cross-platform development: https://medium.com/swlh/flutter-vs-react-native-vs-native-de...

While one could argue that there aren't that many visually driven experiences like that out in the wild, the benchmarks still prove that most abstractions have drawbacks.

Of course, there are good reasons for using them, which is also why many choose even the previously mentioned Electron platform for development, instead of something like Qt/GTK on desktop.

But for the discussion at hand, it simply serves as a suggestion that there's more at play here than just "Java uses a lot of memory and can be slow".

Yes, and because people should stop making apps that take 1gb to show some text layout, and pictures.

I am very happy that with all their faults, Apple still ridicules the Webdev crowd