I’m happy that I was wrong in my prediction about the first round of apps crashing due to memory issues. At least for the most part.

Although it seems that many developers had their apps rejected because they did not work very well when tested on real device, compared to running in the simulator. I think a large portion of these issues can be attributed to memory, or lack thereof.

It is now confirmed that the iPad only has the same amount of memory as the iPhone 3GS: 256 MB. Why couldn’t Apple spend a few dollars extra on a $500 device to double the memory to 512 MB? I think one answer can be found in iFixit’s teardown of the A4 processor. The memory is actually built-in to the same package as the A4 CPU. This makes for blazing fast access to the memory by the CPU, which is important when moving around large blocks of memory quickly for displaying on the screen. Having the memory chips physically close to the CPU also reduces the power consumption significantly. But cramming in the memory chips into the CPU “chip” limits the amount of memory you can have. It’s not like you can just add a standard SIMM module with more memory.

All hardware design is an exercise in trade-offs. For the iPad Apple had to find the best trade-off between:

Memory capacity

Memory access speed

Battery life

In their infinite wisdom, Apple settled on 256 MB of RAM for the first iPads. And we developers have to learn how to live within those constraints.

3 Responses to “Why does the iPad only have 256 MB of RAM?”

While it just makes sense about what you have said (reasoning), I personally could live with little less battery life and little more RAM. I can’t imagine how the multitasking will work. Is it possible that the system can allow to use some of its flash memory as a real RAM (I don’t mean paging or similar approach)

I’m a software developer myself and I can tell you that you *can* live within those limits quite well. The problem is that most developers are not very experienced and don’t really care about memory constraints – that results in so many apps feeling sluggish and they start to die after running a while.

On the other hand, Apple is doing a great job of providing documentation and tools to optimize apps. With just a few hours of optimizing I could reduce CPU consumption of my app by about 70% and memory usage by about 50%. Most of the optimizations was trivial.