Android的五个进程等级

2023-08-18  本文已影响0人  业精于勤_荒于嬉

1、前台进程(Foreground Process)

用户当前工作所需要的。一个进程如果满足下列任何条件被认为是前台进程:

在给定的时间内仅有少数的前台进程存在。仅作为最后采取的措施他们才会被杀掉——如果内存太低以至于它们不能继续运行。

2、可视进程(Visible Process)

没有任何前台组件,但是仍然能影响用户在屏幕上看到东西。一个进程满足下面任何一个条件都被认为是可视的:

一个可视进程被认为是及其重要的且不会被杀死,除非为了保持前台进程而运行。

3、服务进程(Service Process)

一个运行着一个用startService()方法启动的服务,并且该服务并没有落入上面2种分类。虽然服务进程没有直接关系到任何用户可见的,它们通常做用户关心的事(诸如在后台播放mp3或者从网络下载数据),因此系统保持他们运行,除非没有足够内存来保证所有的前台进程和可视进程。

4、后台进程(Background Process)

一个保持着一个当前对用户不可见的Activity(已经调用Activity对象的onStop()方法)(如果还有除了UI线程外其他线程在运行的话,不受影响)。这些进程没有直接影响用户体验,并且可以在任何时候被杀以回收内存用于一个前台、可视、服务进程。一般地有很多后台进程运行着,因此它们保持在一个LRU(Least Recently Used,即最近最少使用)列表,以确保最近使用最多的活动的进程最后被杀。

5、空进程(Empty Process)

是一个没有保持活跃的应用程序组件的进程。保持这个进程可用的唯一原因是作为一个cache以提高下次启动组件的速度。系统进程杀死这些进程,以在进程cache和潜在的内核cache之间平衡整个系统资源。

一个进程的排名因为其他进程依赖它而上升。一个进程服务其他进程,它的排名从不会比其他服务的进程低。例如,进程A中的一个内容提供者服务进程B中的一个客户,或者进程A中的一个服务绑定到进程B中的一个组件,进程A总是被认为比进程B重要。

参考:https://www.cnblogs.com/l2rf/p/4432013.html

上一篇 下一篇

猜你喜欢

热点阅读