下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能手机硬件加速及虚拟内存利弊分析1. debug.sf.hw=0,修改为debug.sf.hw=1,此步骤为打开硬件加速2. dalvik.vm.heapsize=24m,修改为dalvik.vm.heapsize=32m,此步骤为修改虚拟机大小为32m上面的第二点注意,这是修改虚拟机内存,不是修改虚拟内存!这2者完全不同!最近论坛里关于修改安卓系统2个参数的帖子很火,说修改后可以提升手机的性能。修改后有说好用的,也有说不好用的,好用的把楼主捧为了神,不好用的把楼主骂个半死,其实科学嘛,总有好处有坏处的,我们只要好好分析,就能得知我们为什么要改,还有修改后可以得到什么样的益处。捧别人为神或者
2、踩别人为泥都对事情发展没有好处。关于修改的内容,主要是修改2个参数:debug.sf.hw=0,修改为debug.sf.hw=1,此步骤为打开硬件加速dalvik.vm.heapsize=24m,修改为dalvik.vm.heapsize=32m,此步骤为修改虚拟机大小为32m我来跟你解释这2个参数有什么作用,并且说说为什么我做ROM的时候不修改这2个参数。1.dalvik.vm.heapsize=24m,修改为dalvik.vm.heapsize=32m,此步骤为修改虚拟机大小为32m安卓系统实际上,就是建立在linux内核上的一个JAVA系统,了解JAVA的同学应该知道,在运行JAVA程序
3、的时候,需要在每个程序上建立一个虚拟机,以获得内存的分配,优点是假设某个程序崩溃了,系统只要关闭那个虚拟机就可以了,不会影响其他程序,缺点是很耗内存,因为你每开一个程序,就要新开一个虚拟机。举个例子,打开程序A的时候,程序A就自动向系统申请1份虚拟机内存,然后不关闭,再开一个程序B,程序B要求向系统申请3份内存,假设虚拟机内存设置为24M,那么这2个程序合共占用了内存1X24+3X24=96M。假设虚拟机内存设置为32M,则这2个程序合共占用了内存1X32+3X32=128M那么,究竟修改好,还是不修改好呢?假设你的机子里,平常只运行一些小程序,例如QQ、看书软件、小游戏等,那么建议你不要修改
4、,就使用标准的24M,因为足够用,并且防止运行程序过多,而产生崩溃。那是不是越小越好呢?当然不是,因为分配给程序的内存过小,有可能因为软件中请不到足够的内存,而运行不流畅。假设平常经常运行大型程序,例如大型3D游戏等,则可以稍微调大一些,以使大型程序得到足够的内存来运行,可以更流畅。那是不是越大越好呢,当然不是,因为调的太大,其他程序就分配不到内存,无法运行了。google为什么要把系统的虚拟机设置为24M呢?由于有些软件吃内存,也有一些小软件不吃内存,我觉得这是属于一个中庸的设计,由于没法全部偏向大型,也没法全部偏向小型,那就中庸吧。我们都知道,华为C8650的机身内存RAM是256M,这是
5、固定的,给一个虚拟机用24M还是32M,自己决定吧,不过,对于某些程序控,在手机里装一大堆需要开启服务的软件的筒子们,建议还是别改了,否则开机的时候需要启动一大堆程序,最后弄得机子都开不了。我们来和常用的windows系统对比一下,假设同样有256M内存windows系统的内存机制是:来了一个程序,程序告诉系统,我要100M,然后来了第二个程序,第二个程序说,我要150M,这个时候,内存已经被使用100M+150M=250M,剩余6M。然后来了第三个程序,第三个程序说,我要50M,由于不够分给他,系统就崩溃了。安卓系统的内存机制是:来了一个程序,程序告诉系统,我要100M,然后来了第二个程序,
6、第二个程序说,我要150M,这个时候,内存已经被使用100M+150M=250M,剩余6M。然后来了第三个程序,第三个程序说,我要50M,这个时候系统自动关闭最先申请内存程序的虚拟机,或者最次要程序的虚拟机,他把第一个程序关闭了,系统获得了100M的内存,加上剩余的6M,合共106M,分配给第三个程序50M,系统继续运行。第一个是三个和尚,最后大家都没水吃第二个是牺牲小我,完成大我。当然,系统在实际运用中,比上面复杂多了,例如安卓还加入了隐藏机制”,只要不运行的程序,都自动马上释放内存,windows系统出现3个程序抢内存的情况,也加入了等待机制”等,有兴趣的话可以自己研究。转载一段隔壁的论坛
7、的文章:安卓的原理不用在意内存的大小(以下全部都是转载)不用在意剩余内存的大小。其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是自动关进程的软件
8、。到这里有人会说了,那为什么内存少的时候运行大型程序会慢呢?其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所以,论坛上有个更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定。那么,进程管理软件有无必要呢?有的。就是在运行大型程序之前,你可以手动关闭一些进程释放内存,可以显著的提高运行速度。但一些小程序,完全可交由系统自己管理。谈到这里,可能有的朋友会问,如果不关程序是不是会更耗电。我就说说an
9、droid后台的原理,你就明白了。android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签是service0至于广播什么的我就不涉及了。所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这个android的优点呢?还有一个。为什么android一个
10、应用看起来那么耗内存。大家知道,android上的应用是java,当然需要虚拟机,而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现。大家可能是被windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。大家不妨按我说的习惯来用用这个系统。最后推荐一款进程管理软件,systempanel,marke
11、t上能搜到,界面友好启动快,功能也不错,用于手动关闭进程很好的软件。祝大家玩机愉快,这系统开十天半个月都没问题,不是windowso以上内容均为转帖过来,至于为什么开了大程序或者开了好几个程序之后切换会变慢,我的理解如下1 .大程序A已经开启,占用70%内存,如果再想运行一个B,需要50%的内存,则就需要一个将A从内存中释放或者压缩的过程,所以表现出来的就是慢一会儿2 .ABCDE共占用内存80%,运行新程序Z需要20%的内存,系统内存因为没见过剩余0的时候,也就是应该剩一部分空闲内存,那么就需要从AE这几个程序中选择一个或者几个来关闭,这一过程也需要耗费系统资源,所以会慢一会儿3 .也就是说
12、你手动去杀程序的时候,就是替系统在释放内存,就算你不杀,在需要内存的时候系统也会自动释放。4 .不在后台运行的程序(没服务的),即使不杀也不会耗电。在后台运行的(有服务的)程序,如后台放歌,当然会耗电。5.不是说杀进程没用,不然作者就不会推荐进程管理软件了。哪个带服务耗电哪个后台一直在运行,看服务就能看出来,这样的该杀。6,以qq举例,正常的退,会在进程管理里留下qq的运行状态,但不耗电不占cpu,如果你只是切换出去(按小房子而不是退出)那么自然会耗电,因为程序还在运行。第二个参数:debug.sf.hw=0,修改为debug.sf.hw=1,此步骤为打开硬件加速首先,我要说明,这个世界上没有
13、免费的午餐,假设通过那么简单的设置就可以提升性能,那厂商为什么不做呢?由此可知这个玩意实在效用有限,或者是需要和其他工具配合使用!这个设置的作用到现在为止还没有一个标准的说法来说明这是用来干嘛的,开启硬件加速?开启什么硬件加速?难道是3D性能?难道不开启就没有3D性能吗?开启CPU某些特殊性能?这个也不靠谱啊!获取CPU性能关键看指令集!而且,为什么不一开始就使用呢?开启其他硬件性能?改了难道音箱变大声了?改了难道30W像素的摄像头可以照500W了?改了难道内存由256M变成512M了?要么就是让CPU一直保持100%性能的状态?那样性能是提升了,但是电池效果却下降了!(觉得这个解释还稍微靠谱
14、一些)我个人认为,这个设置的作用,目的是开启或者结束硬件厂商的优化指令,因为每个厂商对硬件的设置不一样,肯定在某些位置设置了一个优化指令,并且通过这个设置来开启。例如,google的工程设计标准里,设计了某个版本的手机设置标准是256M内存,并且告诉所有手机生产厂商:如果你是按照我的标准来制作,那么debug.sf.hw=就设置为0,如果你要自己更改部分硬件设置,那么就设置为1,但是设置为1后,你得指向一个文件,告诉系统究竟修改了一些什么了。某手机厂商为了手机速度更快,增加内存到512M,并且设置了一个文件,告诉系统,这个手机是用512M内存的,不是256M。然后某个人开始使用带有优化指令的手机,过了一段时间,又换了新手机后,发现配置接近,但是性能却不一样,于是对比原来手机的文件,发现了这个指令,于是进行修改了,并且很有兴致的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版锚索施工项目质量监督及验收合同4篇
- 二零二五版高校教师博士后工作合同范本2篇
- 2025年度个人食材采购与加工一体化服务合同4篇
- 二零二五年度品牌冰箱环保认证与推广合同4篇
- 二零二五年度国际会议外籍嘉宾邀请合同
- 二零二五年度公共场所安全管理服务协议3篇
- 2025版国际合作项目合同中因国际关系变化情势变更的合同修订条款4篇
- 二零二五年度企业专利技术评估与交易合同3篇
- 2025年度商业地产租赁转租与广告投放合同3篇
- 二零二五版房屋抵押贷款贷款期限延长合同3篇
- 第三单元名著导读《经典常谈》知识清单 统编版语文八年级下册
- 第十七章-阿法芙·I·梅勒斯的转变理论
- 焊接机器人在汽车制造中应用案例分析报告
- 合成生物学在生物技术中的应用
- 中医门诊病历
- 广西华银铝业财务分析报告
- 无违法犯罪记录证明申请表(个人)
- 大学生劳动教育PPT完整全套教学课件
- 继电保护原理应用及配置课件
- 《杀死一只知更鸟》读书分享PPT
- 盖洛普Q12解读和实施完整版
评论
0/150
提交评论