基于Linux内存管理与Android内存分配机制.doc
《基于Linux内存管理与Android内存分配机制.doc》由会员分享,可在线阅读,更多相关《基于Linux内存管理与Android内存分配机制.doc(2页珍藏版)》请在三一文库上搜索。
1、基于Linux内存管理与Android内存分配机制1、基于按HOME键,看起来似乎是退出了,但是其实这个软件并没有被关闭,而是转为了后台程序(指一般的软件,不讨论特别种类的软件)按退出键,看起来也是退出没错,但这个软件其实是被转为了空置程序(音乐除外,音乐属于有服务的特殊软件)按home退出,程序保留状态为后台进程;按返回键退出,程序保留状态为空进程。空进程的oom_adj评值高于后台进程,更容易被系统清理。所以推荐用返回键退出。UC、愤怒小鸟、都市赛车之类程序本身提供关闭功能的,还是尽量主动关闭。浏览器、电子市场、opera mini等不提供关闭功能的,直接返回键退出就行。系统会对进程的重要
2、性进行评估,并将重要性以“oom_adj”这个数值表示出来,赋予各个进程;(系统会根据“oom_adj”来判断需要结束哪些进程,一般来说,“oom_adj”的值越大,该进程被系统选中终止的可能就越高)前台程序的“oom_adj”值为0,这意味着它不会被系统终止,一旦它不可访问后,会获得个更高的“oom_adj”,作者推测“oom_adj”的值是根据软件在LRU列表中的位置所决定的;Android不同于Linux,有一套自己独特的进程管理模块,这个模块有更强的可定制性,可根据“oom_adj”值的范围来决定进程管理策略,比如可以设定“当内存小于X时,结束“oom_adj”大于Y的进程”。这给了进
3、程管理脚本的编写以更多的选择。Android将进程进行了分类:大程序A已经开启,占用70%内存,如果再想运行一个B,需要50%的内存,则就需要一个将A从内存中释放或者压缩的过程,所以表现出来的就是慢一会儿ABCDE共占用内存80%,运行新程序Z需要20%的内存,系统内存因为没见过剩余0的时候,也就是应该剩一部分空闲内存,那么就需要从AE这几个程序中选择一个或者几个来关闭,这一过程也需要耗费系统资源,所以会慢一会儿也就是说你手动去杀程序的时候,就是替系统在释放内存,就算你不杀,在需要内存的时候系统也会自动释放。不在后台运行的程序(没服务的),即使不杀也不会耗电。在后台运行的(有服务的)程序,如后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Linux 内存 管理 Android 分配 机制
链接地址:https://www.31doc.com/p-3410940.html