前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android 进程的五种生命周期学习

Android 进程的五种生命周期学习

作者头像
DragonKingZhu
发布2022-05-08 16:33:37
4340
发布2022-05-08 16:33:37
举报
文章被收录于专栏:Linux内核深入分析

本节学习进程的生命周期:

Android系统是尽可能的去保护每一个进程,但是最终需要为新的进程,或者很重要的进程释放以前的老进程。为了决定那个进程被保护,那个被杀死。Android系统根据当前进程中组件的状态,以及运行在进行中的组件决定保留那个,杀死那个进程。当然了系统资源短缺时,进程等级低的先杀死,以此类推。

android系统中有五种进程等级:

1: 前台进程(前台进程有五种状态,只有其中一种满足就是前台进程,前台进程是很难被杀死的)

      a:拥有一个正在与用户交互的Activity(此时Activity的OnResume方法被调用)的进程

      b:拥有一个服务,此服务绑定一个与用户正在交互的Activity

      c:拥有一个“正在运行于前台”的服务,也就是服务的startForeground被调用

      d:拥有一个服务,此服务正在执行服务生命周期函数中的一个(onCreate(), onStart(), or onDestroy())

      e:拥有一个广播接受者,此广播接受者正在执行onReceiver方法

2:可见进程(可见进程有两种状态,只要其中一种满足就是前台进程)

     a:拥有一个Activity,但是此Activity不在前台,但是用户能看到此Activity的进程(Activity的onPause方法调用)

     b:拥有一个服务,此服务绑定了一个前台或者可见的Activity

3:服务进程

      拥有一个通过StartServer启动的服务的进程

      虽然服务用户是看不见的,但是服务进程却可以干一些很重要的事情(比如在后台播放音乐,下载东西),服务进程一般是不可能杀死的。除非系统资源不够,会杀死服务进程。但是当系统资源充足时,系统会自动启动被杀死的服务进程。

4:后台进程:

     拥有一个用户看不见的Activity的进程,此时Activity的onStop方法被调用

5: 空进程:

      没有任何活动的应用组件的进程

      空进程很容易被杀死的。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2015-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档