查看: 2179|回复: 3
收起左侧

麻烦各位一下,看看各种系统下各大小RAM的检测大小·····

 关闭 [复制链接]
645752128
发表于 2012-1-31 15:38:39 | 显示全部楼层 |阅读模式
本帖最后由 645752128 于 2012-1-31 15:39 编辑

比如
某楼主是N760
256RAM
安卓系统
然后在360中看见167M可使用
但是实际上80%内存使用的时候,系统就开始杀进程了········

不知道各位的情况是?·····求讨论······

PS:能不能禁止·阻止系统杀进程的捏······
黑暗中的舞者
发表于 2012-1-31 23:31:06 | 显示全部楼层
安卓系统就是这样的,获取的可用内存是除去安卓系统本身占用。这点和windows系统有点差别。

关于80%就开始杀进程可以看看这个:

这里简单说一下,安卓系统分配内存机制和windows不同。在win系统中进程结束后,内存会被系统回收等待再次分配。但是安卓系统不是,进程结束后不立刻回收内存,而是等到内存不够用了,再开始重新分配这些内存。安卓系统也不会提示内存不足,当确实没有内存可以分配了,系统会根据进程不同等级,自动的杀掉一些进程。优先杀掉空进程、内容供应节点、前台进程、后台进程,接着是次要服务和可见进程。安卓系统可以配置一些阀值,例如内存低于多少开始杀空进程、低于多少开始杀内容供应节点。



有兴趣可以看看完整的帖子:
   一、现在能用安卓手机的几乎都会用电脑,当然,我敢说大多是windows系统。毕竟懂java和linux的人是少数。在这里给解释一下安卓系统的内存管理机制,我会尽量用通俗易懂的语言解释这种运行原理。1、新手们,别再纠结空闲内存比例Windows系统在程序退出后便会关闭进程,当你再次打开后进程重新开始,当然了,他也有后台程序,但会一直占用内存。安卓Android大多应用关闭后,可从一些任务管理器中看出进程仍在。其实应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态,举例子:有的程序切出去重进会到主界面。但程序如果想要在后台处理数据什么的,如音乐播放、短信等,它就会开启一个服务。服务可在后台持续运行,所以也只有带服务的应用是在后台耗电的。这个在进程管理软件里能看到。没有带服务的应用在后台是基本不耗电的,没有必要关闭,关闭后再启动就慢了,因为需要重新读取界面资源,耗电也增加,就如同汽车起步耗油多。这种设计本来就是一个非常好的设计,何必要关掉他们,抹杀这个安卓Android的优点呢?这里给大家举个例子。拿小三来说,一是一般开机后可见内存(空闲)都很大,但是你打开电话簿联系人等都会卡顿黑屏一下,但是你返回后再打开就不会有这种现象。二是,如果你安装了taskman、高级程序管理什么的锁屏杀内存的应用,解锁后也会出现这种现象,因为它的缓存进程被杀掉了。三是如果运行了大游戏、看电影什么的应用,系统会积极调用这种机制空出内存和cpu给游戏、电影,一些缓存进程也会被清理,退出后会发现空内存增大了。

那为什么内存少的时候运行大型程序会慢呢?其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候,这种情况下系统并不会关闭所有打开的进程,而是按照一定顺序(下面会讲到)选择性关闭,频繁的调度自然会拖慢系统,所以,论坛上有个更改内存阀值的程序可以有一定改善。 但改动也可能带来一些问题,取决于值的设定。为什么安卓Android一个应用看起来那么耗内存?大家知道,安卓Android上的应用是java,当然需要虚拟机,而安卓Android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机,这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。这些设计确保了安卓Android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也几乎没有内存不足的提示出现。当然,有的时候阙值设置不合理也是会出现死机、系统内存不足等现象的。大家可能是被windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。这系统开十天半个月都没问题,不是windows.2、安卓系统内存管理原理和java的垃圾回收机制类似,系统通过一个规则来回收内存,进行内存调度。有个阀值,只有低于这个值,系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是安卓Android标榜的优势之一,如果人为去关闭进程,没有太大必要,特别是自动关进程的软件。那Android什么时候结束进程?结束哪个进程呢?之前普遍的认识是Android是依据一个名为LRU(last recently used 最近使用过的程序)列表,将程序进行排序,并结束最早的进程。XDA的楼主又进一步对这个管理机制进行研究,有了如下发现: 1.系统会对进程的重要性进行评估,并将重要性以“oom_adj”这个数值表示出来,赋予各个进程;系统会根据“oom_adj”来判断需要结束哪些进程,一般来说,“oom_adj”的值越大,该进程被系统选中终止的可能就越高)2.前台程序的“oom_adj”值为0,这意味着它不会被系统终止,一旦它不可访问后,会获得个更高的“oom_adj”,作者推测“oom_adj”的值是根据软件在LRU列表中的位置所决定的;3.Android不同于Linux,有一套自己独特的进程管理模块,这个模块有更强的可定制性,可根据“oom_adj”值的范围来决定进程管理策略,比如可以设定“当内存小于X时,结束“oom_adj”大于Y的进程”。这给了进程管理脚本的编写以更多的选择。4.Android将进程分为六大类: 1.前台进程(foreground):目前正在屏幕上显示的进程和一些系统进程。举例来说,主屏等系统进程就是前台进程,再举例来说,当你运行一个程序,如浏览器,当浏览器界面在前台显示时,浏览器属于前台进程(foreground),但一旦你按home回到主界面,浏览器就变成了后台程序(background)。我们最不希望终止的进程就是前台进程。2.可见进程(visible):可见进程是一些不在前台,但用户依然可见的进程,举个例来说:主屏上的系统部件都是前台进程(所以主屏越多,上面的组件越多,占用内存越大)、输入法等,都属于visible。这部分进程虽然不在前台,但与我们的使用也密切相关,我们也不希望它们被终止(你肯定不希望时钟、天气等widget被终止,那它们将无法同步,你也不希望输入法被终止,否则你每次输入时都需要重新启动输入法)3.次要服务(secondary server):目前正在运行的一些服务(主要服务,如拨号等,是不可能被进程管理终止的,故这里只谈次要服务),举例来说:谷歌服务框架,Gmail内部存储,联系人内部存储等。这部分服务虽然属于次要服务,但很一些系统功能依然息息相关,我们时常需要用到它们,所以也太希望他们被终止。 4.后台进程(hidden):虽然作者用了hidden这个词,但实际即是后台进程(background),就是我们通常意义上理解的启动后被切换到后台的进程,如浏览器,阅读器等。当程序显示在屏幕上时,他所运行的进程即为前台进程(foreground),一旦我们按home返回主界面(注意是按home,不是按返回键),程序就驻留在后台,成为后台进程(background)。后台进程的管理策略有多种:有较为积极的方式,一旦程序到达后台立即终止,这种方式会提高程序的运行速度,但无法加速程序的再次启动;也有较消极的方式,尽可能多的保留后台程序,虽然可能会影响到单个程序的运行速度,但在再次启动已启动的程序时,速度会有所提升。这里就需要用户根据自己的使用习惯找到一个平衡点5.内容供应节点(content provider):没有程序实体,进提供内容供别的程序去用的,比如日历供应节点,邮件供应节点等。在终止进程时,这类程序应该有较高的优先权6.空进程(empty):没有任何东西在内运行的进程,有些程序,比如BTE,在程序退出后,依然会在进程中驻留一个空进程,这个进程里没有任何数据在运行,作用往往是提高该程序下次的启动速度或者记录程序的一些历史信息。这也是我们用一些任务管理软件能够看到的。安卓系统结束进程的有限顺序就是:Empty>Content Provider>Hidden>Secondary Server>Visible>Foreground。 3、中间home键和返回键、菜单--退出的区别老用户略过这一段。在这里再重新解释下,给新手们了解。Home键,顾名思义,回到主屏。安卓是个多任务多线程的系统,home就相当于windows的桌面快捷键,点它,程序不会关闭,只会进入任务栏。安卓一样,点它,系统进入后台,但是仍然是运行的。当然,一些应用,多是占用内存和cpu比较大的应用,被设计为home退出了。返回键,也顾名思义,就是返回上一级菜单,但也有退出程序的功能。按退出键,看起来也是退出没错,但这个软件其实是被转为了空置程序(音乐、收音机等除外,音乐属于有服务的特殊软件)。一些程序中也设计了退出,这些程序有不同的情况,有的是完全退出,有的是保留空置进程等,但一般都会给你提示,不熟悉的,不要出来个什么提示就确定,很多都是要否定的。这设计了马克思的矛盾论,开玩笑的,哈哈~~最后,简单的归纳一下上面内容,其实意思很简单,按退出键相当于“真正的”退出关闭程序,按房子键,看起来似乎是关闭了程序,但是其实只是一种假象,程序只是被降低了仅仅“一”个等级而已,房子更适合多任务切换用,就这么简单。。。一旦需要退出软件时,如果是没有提供退出功能的软件,那么尽量用返回键退出而不是房子键,并且,最重要的是,没有必要用进程管理类软件主动去清理空置进程,因为它本来就是为了被清理而存在,但在没轮到它被清理之前,还可以发挥重新快速开启的作用,一旦被你主动清理了,就连这点好处都没有了,那么,android系统的设计师又何必要设计出这个空置程序呢?直接释放内存不是更好么?所以,结论就是,既然它存在,就有它存在的好处!就要让我们享受到这个好处! 用进程管理主动去清除空置程序绝对是违反android系统的设计本意的,是一种可笑的傻做法!3、调整阙值软件的介绍上面说过,通过一些应用,可以调整阙值大小,保证系统流畅运行。现在,就已经有了这种程序,可能大家也都在用,就是MinFreeManage、“autokiller内存优化”、自动内存管理。后面可以为大家献上这些应用,当然,您选用其一就可以,用的前提是已经root。我常用的一句话是,root就是房钥匙,手机就是宾馆房间,您没拿到它,对手机来说您就是个客人,允许你住宿使用,但是不许砸锅卖铁拆除什么的!但默认设置确存在一些问题:各类进程的管理策略的阀值相当接近,最大的相差也不到相差较小,在实际程序运行中,很容易导致多种类型的进程同时被关闭。如突然启动照相程序,系统可用内存急速,可能会导致空进程、内容供应节点、后台进程、次要服务等同时被关闭。阀值上限较低:一般手机启动后,可用内存较高,但随着手机的使用,可用内存会逐步减少,最后降低到阙值左右,则系统开始启动进程管理机制,开始结束进程,但这个阀限制设在了阙值,相对来说偏低。其结果会导致系统使用一段时间后,整体速度变慢。很明显的就是,当手机长时间使用后,开启电话拨号,相册,照相机等应用时,系统的反应速度极慢。基于以上几个问题,不难看出,我们修改的目标也将非常明确,主要解决两个矛盾: 一是拉开各进程的阀值层次,使得进程管理机制能更有效得工作;二是提升阀值上限,空出更多的空余内存,以提升系统整体的运行速度。 进程管理策略设置原则:前台进程、可见进程和次要服务是与用户体验息息相关的内容,这部分的进程管理策略要相对保守,给这些进程留下足够的运行空间。压榨无用进程,腾出内存空间给主要程序使用。
xzhlksh
发表于 2012-2-1 09:48:33 | 显示全部楼层
还有比odr更坑爹的吗?
645752128
 楼主| 发表于 2012-2-2 12:35:28 | 显示全部楼层
娜雅特蕾依 发表于 2012-1-31 23:31
安卓系统就是这样的,获取的可用内存是除去安卓系统本身占用。这点和windows系统有点差别。

关于80%就开 ...

谢谢,花了几分钟看完了,终于明白了~~~
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-24 01:56 , Processed in 0.120174 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表