- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《Android 中LMK机制分析》
Android 中LMK机制分析一、Android进程管理Android是一个多任务系统,当启动一个程序时会消耗一定的时间。为了加快运行速度,当退出一个程序时,Android并不会立即杀掉它。这样当用户重新运行该程序时,可以很快地启动。但随着系统中保留的程序越来越多,内存肯定会出现不足,此时就有了Android的低内存管理(Low Memory Killer)机制。Android根据进程的重要性,将进程分为以下几类:前台进程(forground process),用户正在做的事情相关的进程,具体包括:正在和用户交互的Activty,即该Activity的onResume()已经执行过。包含一个service,该service正在服务于和用户交互的Activity。包含一个service,该service正在执行onCreate(),或者onStart(),onDestroy()。包含一个BroadcastReceiver,正在执行onRceive()函数可见的进程(visible process),尽管没有和用户交互,但是却可以影响用户所能看得到的内容。尽管没有包含和用户交互的Activity,但是用户却可以看得见该Activity的窗口,比如一个Activity上面弹出一个对话框的情况包含一个service,该service服务于可见的Activity。服务进程(service proces),凡是使用startService()所启动的service对象,其所在的进程都称之为服务进程。当然,如果该service满足上面两个优先级中的条件,则会上升为相应的优先级后台进程(background process),不满足以上任何一个条件的进程,同时该进程中还包含一些不可见的Activity,这些进程不影响正在和用户交互的Activity。空进程(empty process),进程中不包含任何component,包括Activity、service、receiver对象。之所以还保留这些进程的原因是为了减少重新创建进程的开销。以上每个进程都会有个oom_adj值。二、oom_adj的值是如何赋予的进程的adj类型,可以在ActivityManagerService中清楚的看到: static final int EMPTY_APP_ADJ; static final int HIDDEN_APP_MAX_ADJ; static final int HIDDEN_APP_MIN_ADJ; static final int HOME_APP_ADJ; static final int BACKUP_APP_ADJ; static final int SECONDARY_SERVER_ADJ; static final int HEAVY_WEIGHT_APP_ADJ; static final int PERCEPTIBLE_APP_ADJ; static final int VISIBLE_APP_ADJ; static final int FOREGROUND_APP_ADJ; static final int CORE_SERVER_ADJ = -12; static final int SYSTEM_ADJ = -16; ActivityManagerService定义各种进程的oom_adj,CORE_SERVER_ADJ代表一些核心的服务的omm_ad,数值为-12,这类进程永远也不会被杀死。其他未赋值的都在static块中进行了初始化,是通过system/rootdir/init.rc进行配置的:在init.rc中:# Define the oom_adj values for the classes of processes that can be# killed by the kernel. These are used in ActivityManagerService. setprop ro.FOREGROUND_APP_ADJ 0 setprop ro.VISIBLE_APP_ADJ 1 setprop ro.SECONDARY_SERVER_ADJ 2 setprop ro.HIDDEN_APP_MIN_ADJ 7 setprop ro.CONTENT_PROVIDER_ADJ 14 setprop ro.EMPTY_APP_ADJ 15# Define the memory thresholds at which the above process classes will# be killed. These numbers are in pages (4k). setprop ro.FOREGRO
您可能关注的文档
- 英语地道表达.doc
- usb3.0介绍.doc
- 高频课程设计高频课程设计.doc
- 世界各国电压-插头一览表.doc
- 新大陆NLS-MT60开发包说明V1.0.docx
- Android实现获取系统应用列表.doc
- 2012上海高三英语七校联考.doc
- Android开发日志—常用控件篇(android简介和容器控件).docx
- 商务英语之商务接待2-Business Reception-two.doc
- 聚丙烯腈基碳纤维及其应用.doc
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
最近下载
- 必威体育精装版2023版知识产权贯标GBT29490表单 知识产权目标策划管理方案[知识产权合规管理体系文件].docx
- (2024版)AOPA无人机驾驶证认证考试题库-上部分(500题)(含答案).pdf VIP
- 《中国共产党简史》第四章 夺取新民主主义革命的全国性胜利.pptx VIP
- 医院创建优质服务基层行创建资料(3.4.3护理安全管理).docx VIP
- 初三家长会班主任的发言稿.doc VIP
- 《中国共产党简史》第三章 全民族抗日战争中的中流砥柱.pptx VIP
- 商混站危险源辨识、风险分级管控资料.pdf
- 初中物理教师简短的自我鉴定.docx VIP
- 卧式多级给水泵检修的间隙测量与调整76997.doc VIP
- 初中的教师职称述职报告.docx VIP
文档评论(0)