Search code examples
androidbackground-process

On Android, what's the difference between running processes and cached background processes?


On Android, when I look into "Setting" -> "App", under the tab "running", I can see the memory is cut into to parts: "used memory" and "memory free", also the applications are either put into "used memory", or "memory free". The applications in "memory free" part are noted as "cached background process".

So, what are "cached background processes"? They are still in memory, rather than switched to "disk" (as desktops/laptops do), right? When the user tab one of these "cached background processes", it would be displayed immediately as it is still in memory, just like a running process, right?

What does Android do when it "cache" an application?


Solution

  • So, what are "cached background processes"?

    Since you are asking for a technical interpretation of something listed in a device UI, the definition may vary by device, if device manufacturers elected to tinker with the Settings app.

    That being said, "cached background processes" usually refers to processes that do not have a foreground activity and do not have a running service. These processes are kept in memory simply because we have enough memory to do so, and therefore, as you note, the user can switch back to these processes quickly. As Android starts to need more system RAM for yet other processes, the "cached background processes" tend to be the processes that get terminated to free up system RAM.

    The pre-eminent example of a "cached background process" would be one where the user launched the app, poked around it briefly, then pressed HOME to return to the home screen. If the process does not have a running service, I would expect to find it listed as a "cached background process".

    They are still in memory, rather than switched to "disk" (as desktops/laptops do), right?

    Correct. Android devices do not use swap space.