Android进程管理基础

Android系统自动管理打开并运行与后台的应用户程序。单个程序都有个oom_adj值,值越小,优先级越高,被杀死的可能性越低。

Android系统通常有一个内存警戒值与oom_adj值的对应表,每一个内存警戒值对应一个oom_adj值。当系统内存低于警戒值时,所有大于oom_adj值得进程都可被杀死。

  • 前台进程

正在屏幕上显示的进程和一些系统进程

  • 可见进程

不在前台,但用户依然可见的进程,举个例来说:widget、输入法等

  • 服务进程

通过 startService() 方法启动的进程,但不属于前台进程和可见进程。例如,在后台播放音乐或者在后台下载就是服务进程。

  • 后台进程

目前对用户不可见的 Activity 的进程(已调用 Activity 的 onStop() 方法)。入A应用目前为前台进程,按下Home键回到桌面,A应用就变为了后台进程

  • 空进程

没有任何东西在内运行的进程。保留这种进程的的唯一目的是用作缓存,以缩短该应用下次在其中运行组件所需的启动时间。

回收顺序

从先到后分别是:空进程,后台进程,服务进程,可见进程,前台进程


参考:
《Android安全机制解析与应用实践》 第二章 Android安全模型
Android进程管理详解
这可能是最全的Android:Process (进程)讲解了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本篇文章是后台杀死系列的最后一篇,主要探讨一下进程的保活,Android本身设计的时候是非常善良的,它希望进程在不...
    看书的小蜗牛阅读 11,747评论 10 66
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,132评论 25 708
  • 一. 什么是多进程? 多进程就是多个进程的意思,那么什么是进程呢? 当一个应用在开始运行时,系统会为它创建一个进程...
    酱拌饭阅读 877评论 0 5
  • 三月,春暖花开的时节,注定有许多美好的事情发生。我遇见了和春花一样美好的女人们。我们素未谋面,我们来自不同的地方,...
    深香默默阅读 406评论 1 1
  • 列车的终点站帝都,秋高气爽,阳光普照,万里有微云! 来过多次的城市,那些耳熟能详的景点也都游过、走过、路过一两遭,...
    卿此阅读 126评论 0 0