盒子
盒子
文章目录
  1. 前言
  2. Background Process
  3. Cached

什么是缓存的后台进程?

前言

在应用管理这个界面里面发现有已缓存这一项,里面写了”缓存的后台进程”,英文为 Cached Background Process。

这个词由 CachedBackground Process 组成,因此本文就这两个方面进行解释。

参考:StackOverflow

Background Process

Android 对进程划分了5个等级:

  1. Foreground Process: 用户看得见,且能与用户交互的进程。
  2. Visible Process: 用户看得见的进程,可以是没有完全隐藏的。
  3. Service Process: Started 的服务。
  4. Background Process: 不可见的进程。
  5. Empty Process: 不包含任何组件的进程。

等级越高越容易被回收。很显然后台进程属于等级4,是非常容易被系统回收的。

Cached

为了更充分地利用 CPU,操作系统会在内存中放置多个进程,这种技术叫 Multiprogramming。

Cached Background Process 的特征是:这个后台进程没有前台界面显示,并且没有服务在运行。
Cached Background Process 目前在内存中因为内存很充裕,这样做是为了:当用户再次打开该应用时,能更快地打开。如果系统发现内存不够用了,就很容易将踢出内存。

总的来说,Cached Background Process 和 Running Process 的区别在于:虽然他们都在内存中,但是 Running Process 是需要消耗 CPU 的(至少一个服务还在运行),而 Cached Background Process 是不需要消耗 CPU 的。我们可以从下图中看出 Running Process 都是带着服务的:

支持一下
扫一扫,支持xiazdong