网站大量收购闲置独家精品文档,联系QQ:2885784924

ANRI内存管理原理 .doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

ggkkppp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档