If you've used Android 4.1 or later on a phone or tablet with 1GB of RAM, you know things can get a little tight in the memory department. That's what makes newer and slightly underpowered devices like the Lenovo Yoga a little disappointing. Google has decided to trim the fat with Android 4.4 in an initiative they've christened "Project Svelte." This isn't a single change, it's a wide range of additions to the Android API and optional hardware configurations designed to make KitKat run smoothly on devices with as little as 512MB of system memory.
According to the new 4.4 developer page, Project Svelte starts with recommendations and options targeted at device manufacturers. Specifically:
- Dalvik JIT code cache tuning
- kernel samepage merging (KSM)
- swap to zRAM
- tune out-of-memory levels for processes
- set graphics cache sizes
- control memory reclaim
When it comes to pure software, core processes have been trimmed to use less memory and protect system memory from hungry apps. Android will also launch concurrent services in sequence instead of all at once to prevent slowdown. Imagine it as cleaning out the Startup folder in Windows, except that it's all happening behind the scenes. Developers also have access to the new ActivityManager.isLowRamDevice API, allowing memory-hogging features to be enabled and disabled as needed. Google will be integrating this feature into its own first-party apps, so even those with more powerful hardware should see at least some benefit.
Project Svelte isn't going to magically make older devices compatible with 4.4 - even Google's own Galaxy Nexus (with 1GB of RAM) isn't getting an official update, likely because of the aging OMAP SoC. But this will hopefully help devices like the original Nexus 7 and Nexus 4, not to mention upcoming low-end phones that will launch with 4.4, to better handle resources as apps become more hardware intensive.