5 ms·
It's the same. All iOS devices except the iPad Air 2 have less than 2GB RAM (most 512 MB). Android 1-4 devices have often less than 1GB RAM. It's common that o
by castell 11y ago
It's the same.
All iOS devices except the iPad Air 2 have less than 2GB RAM (most 512 MB). Android 1-4 devices have often less than 1GB RAM. It's common that only 1-3 apps can stay in RAM depending on the platform and the apps memory usage (foreground apps, not background services).
Applications/games in the Win95/PS1/N64 era were coded a lot more efficient. Back than, a common Win95a PC had 4-8MB RAM, (highend was 32MB).
- codesushi42 11y agoExcept unlike smartphones, the PS1/N64 did not support VM or even had any storage to page to. So no, it's not the same.
- pjmlp 11y agoiOS documentation: "Instead, if the amount of free memory drops below a certain threshold, the system asks the running applications to free up memory voluntarily to make room for new data. Applications that fail to free up enough memory are terminated."
- kayoone 11y agoThat has nothing todo with what op is referring to. Even on iOS you have a virtual memory system, like a normal PC does. If your app runs out of ram it will page to storage and the OS handles this for you. The PS1/N64 did not have any storage beyond RAM and also no virtual memory management so you had to write all the paging from CD/Cartridge to RAM yourself. Quite a difference.
- Cthulhu_ 11y agoSort of. iOS does have a virtual memory system, but it's not as forgiving as a full OS would be; applications that fail to free up memory when asked to (i.e. in a low memory situation) are killed by the OS. See also: https://developer.apple.com/library/mac/documentation/Performance/Conceptual/ManagingMemory/Articles/AboutMemory.html https://developer.apple.com/library/mac/documentation/Perfor...
- kayoone 11y agoThat should be much easier to optimize against vs having no paging at all though. Are Apps running in the background asked to free up storage or be killed before the active app needs to do the same or are they referring to the active app ?
- pjmlp 11y agoBackground apps are even worse, as by default they are suspended. If the system requires memory the ones with higher memory footprint are the first ones to go. They aren't asked nicely, just killed. This might have changed on newer versions though. I am typing this from memory. Also on the Watch there are also time constraints. How quick an app is allowed to execute. Windows Phone also has similar constraints.
- kayoone 11y agoI actually worked on a game that was running on the iPad2 (some gameplay https://www.youtube.com/watch?v=uaq0Sfp3_5Q https://www.youtube.com/watch?v=uaq0Sfp3_5Q ) and while you had to optimize quite a bit to achieve a certain number of drawcalls and memory usage it was still developed in Unity and far from what devs did in the ps1/2 era.
- vetinari 11y agoWin95 machines with 4 MB RAM were exceptions, not the rule. It was very painful to use such machine, as it was swapping all time time, otherwise doing nothing. Any realistic setup had 8 MB RAM or more. Application at that time also didn't support i18n, didn't anti alias fonts, had low-res, low-color assets, that were enough at 320x200(240)/640x480 resolution.
- frik 11y agoA Pentium 133 with 8MB and 800x600 (32bit colors) run fine in with Win95a and several open applications. Try that with Android, even with 2GB RAM and quad core CPU - the Java based system on top of Linux is quite resource hungry. Flagship Android 5 phones have at least twice the hardware spec (twice as much RAM and CPU) of the iPhone 6 and are comparable in performance and user experience (latency) and not faster. That's the difference of Object-C vs. Java. And old applications like Microsoft Office are all coded in C/C++ and parts of older applications in Assembler.
- pjmlp 11y agoJava is not the problem, rather Google's shitty compilers. Lots of industrial applications run embedded Java with a few KBs and acceptable performance for their use cases.
- lern_too_spel 11y agoAndroid used the Oracle javac compiler until this year, so blaming anything on Google's new compilers is a little strange.
- pjmlp 11y agoThat comment shows how much you understand about compilers and Android. javac has nothing to do with Dalvik or ART.
- lern_too_spel 11y ago