Android 进程的五种生命周期学习
本节学习进程的生命周期:
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: 空进程:
没有任何活动的应用组件的进程
空进程很容易被杀死的。
Android 进程的五种生命周期学习相关推荐
- 详解java中Thread类,线程和进程的基本区别,多线程的好处,线程的五个生命周期,主线程和IDEA创建的Monitor Ctrl-Break守护线程;优雅地终止线程。死锁的产生
线程:CPU调度的最小单位:线程共享堆内存和方法区,但各自享有栈空间.进程:CPU分配资源的最小单位. 为什么需要多线程:①避免其中一个模块阻塞造成系统假死:②程序异步处理(交替执行),提高程序执行效 ...
- android应用开发(25)---进程和应用程序生命周期
进程和应用程序生命周期 在大多数情况下,每个Android应用程序都在其自己的Linux进程中运行.当需要运行某些代码时,会为应用程序创建此进程,并且该进程将保持运行状态,直到不再需要它为止,并且 系 ...
- 页面生命周期_微信小程序的生命周期学习笔记-应用篇
在我们学习微信小程序的过程当中,我们会参考很多资料.在这些资料中,我们经常能够看到"生命周期"四个字,在前面的课程中也提到过.在这里做一个说明. 生命周期是一类函数的统称,这些函数 ...
- Android-服务Service(2)-bind绑定Service及两种生命周期
上篇是第一种方法,这里主要是第二种Context.bindService()方法 1. 开发步骤 1. 绑定服务 Intent intent=new Intent(getBaseContext(),M ...
- uni-app三种生命周期及页面跳转方法
uni-app三种生命周期 应用生命周期 应用生命周期函数: onLaunch:当uni-app初始化完成时触发(全局只触发一次) onShow:当uni-app启动,或从后台进入前台显示 onHid ...
- 【Android】Service启动、生命周期
service启动流程 startService方式 每个App进程中至少会有两个binder线程 ApplicationThread(简称AT)和ActivityManagerProxy(简称AMP ...
- Page 的生命周期学习小结
(以前我在 csdn 写的翻译文章,现在转到这里来.) Page 的生命周期学习小结 原文链接:Page Events: Order and PostBack 作者:Paul Wilson 翻译:木野 ...
- React Native之组件(Component)生命周期学习笔记
1.Component介绍 一般Component需要被其它类进行继承,Component和Android一样,也有生命周期 英文图片如下 2 具体说明 1).挂载阶段 constructor() ...
- 小程序的三种生命周期
小程序有3种生命周期 分别是:全局级别,页面级别.组件级别 在小程序中 ,通过App()来注册一个小程序 ,通过Page()来注册一个页面,通过Component()来注册一个组件. 1.全局生命周期 ...
- 进程的五种基本状态VS活动就绪静止就绪活动阻塞静止阻塞
进程的五种基本状态 1 创建状态: 进程正在被创建 2 就绪状态: 进程被加入到就绪队列中等待CPU调度 3 执行状态: 进程正在被运行 4 等待阻塞状态: 进程因为某种原因,比如等待I/O,等待设备 ...
最新文章
- Windows HTML本地快速渲染轨迹线
- Line上半年扭亏为盈 用户及营收遇瓶颈
- Android短信发送流程之长短信发送(原)
- P1447 [NOI2010] 能量采集
- Abiword页面布局
- kotlin 覆盖属性_Kotlin程序| 方法覆盖的示例
- 美团科技 Java工程师_美团Java工程师面试题(2018秋招)
- 阿里云+wordpress搭建个人网站及博客
- QQ版本更新 除了一起听歌现在还能一起看球赛了
- 备忘录AIX主机下用SHELL脚本编写FTP传某个目录下的文件到LINUX主机
- 追求--MarsCoara
- (原)logstash-forwarder + logstash + elasticsearch + kibana
- 卡巴斯基2014/10.0 KEY文件下载 - KES 10.0下载
- C++二维vector初始化大小方法
- 单例模式的懒汉模式跟恶汉模式的区别
- NPS - 数字化营销 - 净推荐值
- 漫画:什么是 B+ 树?
- 给hexo搭建的博客更换主题
- 光敏电阻规格型号的含义解读研究总结
- 艾美捷测序级 II,纯化胰蛋白酶化验程序文献参考
热门文章
- oracle更改用户名的问题
- 23andme、gsa、wegene各染色体位点统计
- 2013年阿里巴巴实习生笔试题
- 在Microsoft Workflow Foundation中晃荡了两天
- java 如何将异常_java中的异常处理
- Spark性能优化指南——高级篇【2】
- Listen 0.0.0.0:80 Listen [::0]:80
- 推荐系统在房产领域的实践
- BZOJ1861:[ZJOI2006]书架——题解
- 安防的未来五年 如何把握机遇深耕市场?