- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ANRI内存管理原理 .doc
ANDROID内存管理原理
我们一直听说Android是一个多进程操作系统,那么它是如何处理每一个进 程呢?
大家可能已经发现Android自身并没有所谓的关闭进程的说法每当我们要 退出一个进程回到桌面/打开另一个程序的时候我们只能按返回键.而当我们 按下返回键I后,该进程并没有真正的关闭,仍然保存在内存中.这样在下次调 用的时候可以更快的打开该程序.
要想真正的关闭一个已打开的进程,除了用第三方软件(例如advan ced task man ager)外,还有一个,那就是当Android系统认为当时已经没有足够的 内存来运行新的进程,需要关闭一些虽然已经开着,但是没有用了(具体怎样一个 进程才会被Android系统认为是没有用下面就要讨论到)的进程.
而下面要研究的就是这个And roid内部的lowme morykiller.A ctivityManag erService. ja va记录着每一个进程的优先级.一个进程的oom _adj值也就代表了它的优先级.oom_adj值越高代表该进程优先级越低.一个 正在使用的进程的oom_adj值为0,—旦我们按下返回键,这个进程就会得到一 个更高的o om_adj值(更低的优先级).具体多少取决于该进程在LRUdast recently us ed) I ist 的位置.(未证实)
具体的细节保存在 Android 源文件 d r ivers/misc/lowmemoryki I ler.c 里.
Andro id将进程分为6个等级,它们按优先级顺序由高到低依次是:.R
F0 REGROUND APP
This is the process running the current for eground app. Wed real I y rather not kill it! r
用户正在使用的程序.这个设的太高,用户看到得就会是一个正在使用的程 序莫名其妙的消失了,然后自动回到桌面因为它被系统k ill 了..)所以最 好别动它..
VIS IBLE_APP:
This is a pr ocess only h osting activ ities that a re visible t o the user, so we* d prefer they dont disappear.
跟F0 REGROUND_APP类似,用户正在使用/看得到.它们的区别就是VI SIBLE_APP可能不是用户focus的程序,但是用户看得到,或者没有覆盖到整个 屏幕,只有屏幕的一部分.所以可以适当的比FOREGROUND _APP高一点.
SE CONDARY_SERV ER:
This is a process holding a s econdary ser ver — k i I I i ng it will not have much of an impact as far as the user i s concerned.
所有应用的serv ice.系统级的ser vice比如PhoneS ervice不属于这 类,它们是绝不会被Andro id结束掉的.所以这个可以适当的设高一点点~注意,
HOME (Sen seUI)也包括在这里因此还是别设的太高.要不每次返回桌面都得等 它重新load,特别是wid get多的..
H IDDEN_APP:.T
This is a p rocess only hosting acti vities that are not visi ble, so i t c an be ki I led without any disruption. ; oH A5 Y- Q 4 \! V) r;)
本来属于1或者2的程序,在用户按了b ackn或者nhomen后,程序本身看
不到了,但是其实还在运行的程序,它们就属于HIDDEN_A PP 了.干掉没什么影 响..不过要了解并不是所有属于这一类的就应该马上结束掉,像push ma iljocale,闹钟,等都属于这一类.因此还是别设的过高.真正”应该一点返回 键就退出的程序(真正没用的程序)在下面.
CONTE NT_PROVIDER:
This is a pr ocess with a content pro vider that d oes not have any clients attached to it. If it did have any clients, it s adjustment
would be the one for the h i ghest-pr ior i ty of those processes.
5,6的区别具体不太了解..这个也是用处不大,但是还是比EMP
您可能关注的文档
- 3外文翻译汽车前轮定位参数研究及优化设计.doc
- 3外文翻译汽车天窗系统的设计改进和生产线的产线优化.doc
- 3外文翻译汽车车内空气质量检测.doc
- 3外文翻译泵体零件数控加工工艺设计、编程及夹具设计.doc
- 3外文翻译节能小车的转向和制动系统.doc
- 3外文翻译装载机液压系统设计.doc
- 3外文翻译轮胎存放立体仓库及自动取货机构设计.doc
- 3外文翻译辛普森变速器结构设计.doc
- 3外文翻译长途客车无人为干涉防超载系统的设计.doc
- 3天2夜团体活动方案 .doc
- 六年级数学下册教学课件《解比例》.pptx
- 8.21.5 鸟类的生殖与发育(课件)八年级生物下册课件(苏教版).pptx
- 钠离子电池项目智能制造方案(范文参考).docx
- 2023-2024学年吉林省吉林市舒兰市七年级(上)期末语文试卷.docx
- 2024年吉林省吉林市丰满区亚桥实验学校中考数学三模试卷.docx
- 2023-2024学年吉林省辽源市东辽县七年级(上)期末英语试卷.docx
- 2023-2024学年吉林四平九年级数学第一学期期末水平检测试卷.docx
- 2023-2024学年吉林市蛟河市三校联考九年级(上)期末英语试卷.docx
- 2023-2024学年吉林松原九年级英语上册考场实战试卷.docx
- 电解液新材料项目智能制造方案.docx
文档评论(0)