
Android 17 will forcibly close apps that use a lot of RAM
Google has begun to more strictly control RAM usage in Android 17. The new Memory Limiter system is already in use on Pixel smartphones, and other manufacturers will begin implementing it within the next year. Now the OS can first slow down an overly resource-hungry app, and if it continues to consume memory, forcibly terminate its process.
Google cites not only poorly optimized apps as the reason for the changes. The company notes that due to the rising cost of memory, manufacturers of new devices are increasingly retaining the same RAM capacity or even reducing it, while application requirements continue to grow.
How Android 17 restricts apps
Memory Limiter operates at the Linux cgroup v2 level and controls memory for individual application processes. Moreover, the restrictions apply to all apps on Android 17 regardless of which Android version they were originally developed for.
The system uses different limits for the app on the screen and processes running in the background. The last one is allowed to occupy significantly less memory.

Upon reaching the soft limit, Android does not immediately close the app. First, the system begins to free up its memory: it deletes pages that have not been used for a long time and can be reloaded from files, while moving inactive data to zRAM – an area of RAM where information is stored in compressed form.
This allows the app to continue working, however, compressing and decompressing data requires additional CPU resources. As a result, interface lag may occur.
If the application continues to increase memory consumption and exhausts its available zRAM volume, new memory allocations begin to fail with an error, after which Android may forcibly terminate the process.
Android 17 memory usage limits
Google has already published standard limitations for the most common smartphone configurations.
| Smartphone RAM | Application on screen | Background process | zRAM limit |
|---|---|---|---|
| 4 GB | 2 GB | 1 GB | 1 GB |
| 6 GB | 4 GB | 2 GB | 2 GB |
| 8 GB | 5 GB | 3 GB | 3 GB |
| 12 GB | 8 GB | 4 GB | 4 GB |
| 16 GB | 10 GB | 5 GB | 5 GB |
Thus, Android allocates approximately half to two-thirds of the device’s physical RAM to the visible app. About a quarter or a third of RAM is allocated for background processes.
For calculations, the available system value MemTotal is used instead of the manufacturer-stated memory capacity. It is typically smaller than the physical RAM volume by 500 MB – 2 GB or more, since part of the memory is reserved for graphics, modem, camera, secure environment, and other hardware components.
Pre-installed apps will also be closed.
Memory Limiter monitors virtually all standard application processes, including manufacturer pre-installed software. The system does not provide a separate whitelist that would allow Samsung, Google, or other companies to exempt their own applications from restrictions.
The exception is critical Android system processes, for which memory restrictions do not apply.
The application state is also taken into account. A process with an on-screen interface receives an elevated limit, while background services and handlers operate under stricter constraints. Cached Android processes can be frozen and their memory usage maximally freed.
Why are restrictions being introduced
Previously, a single application with a memory leak could gradually create pressure on the entire system. Android required more aggressive memory clearing and closing other background applications that were functioning normally. As a result, the user would return to them and receive a full cold start instead of an instant restoration of the previous state.

Additional load on the memory management system also increases CPU usage and power consumption, which can lead to interface stuttering.
Memory Limiter changes the approach: Android attempts to localize the issue within the application that is consuming an abnormally large amount of memory, instead of allowing it to degrade the performance of the entire system.
At the same time, Google states that the vast majority of regular app sessions should not encounter restrictions. In Android 17, the thresholds are intentionally set high and are primarily designed for serious memory leaks and other anomalous scenarios.
Developers will learn the reasons for the app’s closure
For developers, Google has added separate diagnostic tools. If the process was stopped by Memory Limiter, Android will save the termination reason as REASON_OTHER with the string MemoryLimiter:AnonSwap.
Additionally, the system can be configured to automatically create a memory dump when approaching the limit. Android Vitals now includes metrics for standard and swap memory usage, while Firebase Crashlytics 20.1.0 has received additional diagnostics for out-of-memory errors and process terminations by Memory Limiter.
Developers can also use ADB to view the current smartphone restrictions, temporarily disable Memory Limiter, or manually set a specific limit for a process during testing.
As of now, the new system has begun rolling out from Pixel smartphones. Google expects that within the next year, more Android device manufacturers with RAM volumes from 4 to 16 GB and above will adopt it.











