android 进程管理机制,Android的进程管理机制
Linux系统对进程的管理方式是一旦进程活动停止,系统就会结束该进程。Android系统虽基于Linux,但在进程管理上,采取了另外一种机制。当当前进程活动停止时,系统并不会立即结束当前进程,而是会将该进程保存在内存中,以后的某个时间,一旦进程开始活动,系统又可以立即启动该进程。
Android系统中定义了6种不同等级的进程级别。分别是前台进程,可见进程,次要服务,后台进程,内容供应节点,空进程。
前台进程:优先级最高的进程,系统首要的目标和任务就是满足前台进程的需求。
可见进程:不在前台,但是可见的一些进程。比如widget组件,输入法等。
次要服务:
后台进程:通常的理解就是我们按home键进行应用的切换就会将当前的应用由前台进程变成后台进程。
内容供应节点:没有程序实体,提供内容供别的应用进行使用
空进程:没有任何东西在内运行的进程,有些程序,比如BTE,在程序退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行,作用往往是提高该程序下次的启动速度或者记录程序的一些历史信息。这部分进程无疑是应该最先终止的。
在程序中就用oom_adj变量的数值来表示进程的级别,对应其重要程度,每个进程在被Zygote进程孵化出来的时候都有oom_adj变量表示进程的级别,并且在运行的过程中通过改变该进程的值来表示该进程的优先级。系统就是根据各个进程的oom_adj值的大小来判断进程间的优先级的。一般的,前台进程的优先级为0,后台进程的优先级为16,最小的优先级进程为-17,数值范围就是-17至16。
每个应用在启动的时候,Zygote进程都会孵化出一个新进程来运行应用程序,每个进程都对应自己唯一的虚拟机实例,如果应用进程一旦挂掉或者崩溃,那么死掉的仅仅是当前应用的进程,不会影响整个系统的运行。
android 进程管理机制,Android的进程管理机制相关推荐
- android杀进程管理,还在杀进程?Android你不知道的那些事儿
你真的了解Android吗? 谷歌为我们带来了一个不同于iOS的Android新系统,如今,昔日的菜鸟已成一方霸主,使用Android手机的人也越来越多,但是,你真的了解Android吗? Andro ...
- 【私人备忘录】Android P ActivityManagerService(六)进程管理
Android中参与进程管理的主要模块是ActivityManager,其依赖于LRU weight,OOM adj和lmkd机制(新版Low Memory Killer)共同完成进程管理. 一.LR ...
- [转][android深入学习]android窗口管理机制
在学习 WindowManager 接口的时候,了解到这个接口很重要,因为它可以直接与Window Manager(窗口管理器)进行交互,那这个 Window Manager 究竟是怎么一回事呢? 通 ...
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路(1)
上一篇文章Android进程间通信(IPC)机制Binder简要介绍和学习计划简要介绍了Android系统进程间通信机制Binder的总体架构,它由Client.Server.Service Mana ...
- Android进阶——性能优化之内存管理机制和垃圾采集回收机制(六)
文章大纲 引言 一.内存泄漏和内存溢出概述 二.Java运行时内存模型 1.线程私有数据区 1.1.程序计数器PC 1.2.虚拟机栈 1.3 本地方法栈 2.所有线程共享数据区 2.1.Java堆 2 ...
- android跨进程关闭服务器,Android IPC机制(五)用Socket实现跨进程聊天程序
本文首发于微信公众号「后厂技术官」 1.Socket简介 Socket也称作"套接字",是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层 ...
- 8 操作系统第二章 进程管理 信号量 PV操作 用信号量机制实现 进程互斥、同 步、前驱关系
文章目录 1 信号量机制 1.1 整形信号量 1.2 记录形信号量 1.3 信号量机制小结 2 用信号量机制实现进程互斥.同 步.前驱关系 2.1 信号量机制实现进程互斥 2.2 信号量机制实现进程同 ...
- 操作系统之进程管理:11、用信号量机制实现进程同步、互斥、前驱关系
11.用信号量机制实现进程同步.互斥.前驱关系 思维导图 用信号量机制实现进程同步 用信号量机制实现进程互斥 用信号量机制实现进程的前驱关系 思维导图 用信号量机制实现进程同步 先来看一下什么是进程同 ...
- Android 10.0 系统启动之SystemServer进程-[Android取经之路]
摘要:上一节讲解了Zygote进程的整个启动流程.Zygote是所有应用的鼻祖.SystemServer和其他所有Dalivik虚拟机进程都是由Zygote fork而来.Zygote fork的第一 ...
最新文章
- 深度学习必备---用Keras和直方图均衡化---数据增强
- 病情高度活动的RA病人的感染风险增加
- XE3随笔6:SuperObject 的 JSON 对象中还可以包含 方法
- python之禅中文-「翻译」Python之禅
- 小米线刷包需要解压么_【连载】刷机教程之小米手机通用线刷教程
- 最短路最基本算法———Floyd算法
- 抖音去水印解析网址入口_抖音去水印 视频去水印 小工具
- (21)FPGA移位寄存器设计(第5天)
- (秒杀项目) 4.10 项目面试项目常见问题
- Linux下的tar命令
- 几行代码实现shiro超级管理员的功能
- MySQL实现7种 SQL JOINS
- python nonetype_理解Python中的NoneType对象
- 数据库—应用系统开发方法
- Android 各种自定义进度条Progressbar
- Python使用adbapi实现MySQL数据库的异步存储
- 他,是碾压爱迪生的科技天才!尼古拉特斯拉的一生竟是这样...
- 【Games101 作业6 + 附加题】渲染兔子 BVH SAH 代码
- 无线通信设计秘密四:唤醒下发算法
- 富通天下(W 笔试)