How much RAM a Mac needs for development
Add up what you run at the same time, not what you have installed. For one platform at a time, 16 GB is enough if you stop the tools you aren't using. Android with an emulator, or Docker with its default limit, is more comfortable on 24 GB. Building React Native or Flutter for iOS and Android at once wants 32 GB.
| What you run at once | Dev tools hold | Enough RAM |
|---|---|---|
| Web, with dev servers and an AI agent or two | 1–3 GB | 16 GB |
| Web with Docker | 5–11 GB, mostly the Docker VM | 16 GB with the VM capped at 4 GB, 24 GB otherwise |
| iOS: Xcode and one simulator | 4–6 GB | 16 GB |
| Android: Android Studio, one emulator, Gradle | 6–12 GB | 24 GB, or 16 GB if you run one emulator and stop idle daemons |
| React Native or Flutter, iOS and Android at once | 11–18 GB | 32 GB, 24 GB at the least |
The middle column is on top of what macOS and your everyday apps already use, which is the next thing to measure.
Measure what your Mac uses before any dev tool starts
Open your browser, your editor and your chat apps the way you usually have them, but no simulator, emulator, Docker or dev server. In Activity Monitor's Memory tab, add App Memory and Wired Memory at the bottom. That's your baseline. With a browser full of tabs, an editor and a chat app, it's often 5–8 GB.
Leave Cached Files out. macOS fills spare memory with them on purpose and gives it up the moment an app needs room.
What each dev tool adds
| Tool | Typical size while it runs |
|---|---|
| iOS simulator | About 1.5 GB each, idle |
| Xcode, SourceKitService and the build service | 2–4 GB together; the build service alone is often over 1 GB after a build |
| Android emulator | 2–4 GB each; phone images rarely need more than 2 GB |
| Android Studio | Its heap, 2–4 GB for most projects |
| Gradle and Kotlin daemons | 1–2 GB each, kept for 3 idle hours |
| Docker VM | Up to its limit, even with no containers. Docker Desktop's default is half your Mac's memory |
| Dev servers and bundlers | A few hundred MB to over 1 GB each |
| AI agent sessions | About 0.4–0.5 GB each, plus the servers they start |
Your baseline plus the tools you run together is the number to compare with your RAM. macOS compresses memory before it swaps, so going a little over still works. Going well over means swap, and everything slows down at once.
Before you buy more, check what's left running
On most dev Macs that feel short, part of the memory goes to things nobody is using: yesterday's simulator, an emulator from this morning, three idle Gradle daemons, the Docker VM with no containers, dev servers an agent started and never stopped. Stop those first, then watch the Memory Pressure graph during a normal day. If it stays green, you have enough. If it's yellow or red with only what you need running, you need more RAM.
Free up RAM on a Mac used for development has the commands for each of them.