邪恶力量全季百度云:叹:看了这个帖子才发现自己真的是“井底之蛙”! - XT800 - 安卓网 Android(安致)分享论坛,Android 软件,ROM,最大的 Android(安致)资源论坛,尽在-HiAPK安卓网

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 20:45:07
android的原理,为什么我们不需要太多的剩余内存

wp55580691


       不用在意剩余内存的大小。其实很多人都是把使用其他系统的习惯带过来来了。android大多应用没有退出的设计其实是有道理的,这和系统对进程的调度机制有关系。如果你知道java,就能更清楚这机制了。其实和java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阀值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。当然这个值默认设置得很小,所以你会看到内存老在很少的数值徘徊。但事实上他并不影响速度。相反加快了下次启动应用的速度。这本来就是android标榜的优势之一,如果人为去关闭进程,没有太大必要。特别是自动关进程的软件。   
       到这里有人会说了,那为什么内存少的时候运行大型程序会慢呢?其实很简单,在内存剩余不多时打开大型程序,会触发系统自身的调进程调度策略,这是十分消耗系统资源的操作,特别是在一个程序频繁向系统申请内存的时候。这种情况下系统并不会关闭所有打开的进程,而是选择性关闭,频繁的调度自然会拖慢系统。所以,论坛上有个更改内存阀值的程序可以有一定改善。但改动也可能带来一些问题,取决于值的设定。   
       那么,进程管理软件有无必要呢?有的。就是在运行大型程序之前,你可以手动关闭一些进程释放内存,可以显著的提高运行速度。但一些小程序,完全可交由系统自己管理。谈到这里,可能有的朋友会问,如果不关程序是不是会更耗电。我就说说android后台的原理,你就明白了。android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。所以为什么有的程序切出去重进会到主界面。但是,一个程序如果想要在后台处理些东西,如音乐播放,它就会开启一个服务。服务可在后台持续运行,所以在后台耗电的也只有带服务的应用了。这个在进程管理软件里能看到,标签是service。至于广播什么的我就不涉及了。所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源,何必要关掉他们抹杀这个android的优点呢?   
      还有一个,为什么android一个应用看起来那么耗内存。大家知道,android上的应用是java,当然需要虚拟机,而android上的应用是带有独立虚拟机的,也就是每开一个应用就会打开一个独立的虚拟机。这样设计的原因是可以避免虚拟机崩溃导致整个系统崩溃,但代价就是需要更多内存。   
       以上这些设计确保了android的稳定性,正常情况下最多单个程序崩溃,但整个系统不会崩溃,也永远没有内存不足的提示出现。大家可能是被windows毒害得太深了,总想保留更多的内存,但实际上这并不一定会提升速度,相反却丧失了程序启动快的这一系统特色,很没必要。大家不妨按我说的习惯来用用这个系统。最后推荐一款进程管理软件,systempanel,market上能搜到,界面友好启动快,功能也不错,用于手动关闭进程很好的软件。   
       祝大家玩机愉快,这系统开十天半个月都没问题,不是windows。
       原帖地址:http://www.betalive.cn/wordpress/?p=121
      以上内容均为转帖过来,至于为什么开了大程序或者开了好几个程序之后切换会变慢,我的理解如下1.大程序A已经开启,占用70%内存,如果再想运行一个B,需要50%的内存,则就需要一个将A从内存中释放或者压缩的过程,所以表现出来的就是慢一会儿2.A\B\C\D\E共占用内存80%,运行新程序Z需要20%的内存,系统内存因为没见过剩余0的时候,也就是应该剩一部分空闲内存,那么就需要从A~E这几个程序中选择一个或者几个来关闭,这一过程也需要耗费系统资源,所以会慢一会儿3.也就是说你手动去杀程序的时候,就是替系统在释放内存,就算你不杀,在需要内存的时候系统也会自动释放。4.不在后台运行的程序(有服务的),即使不杀也不会耗电。在后台运行的(有服务的)程序,如后台放歌,当然会耗电。5.不是说杀进程没用,不然作者就不会推荐进程管理软件了。哪个带服务耗电哪个后台一直在运行,看服务就能看出来,这样的该杀。
叹:看了这个帖子才发现自己真的是“井底之蛙”! - XT800 - 安卓网 Android(安致)分享论坛,Android 软件,ROM,最大的 Android(安致)资源论坛,尽在-HiAPK安卓网 Android安卓系统下,软件安装到内存卡教程!!! - U8500 ROM 相关下载 - U8500 - 安卓网 Android(安致)分享论坛,Android 软件,ROM,最大的 Android android系统全部可用的蓝牙键盘输入软件(驱动)下载 - Android 软件下载 - Android安卓智能手机中文论坛 机锋网|机锋市场|安致|安卓|ROM|刷机|安卓市场|安智市场|应用汇 - Powered by Discuz! M9适合Android开发用机吗? - Android开发进阶交流 - 做最专业的安卓开发者论坛 Android开发网 Android开发教程 Android开发视频教程  Android开发学习资料 - XT800 ANDROID 2.1 升级教程(官方版) - XT800 论坛 ... 一些不错的Android专栏地址 - Android - mobile - ITeye论坛 塞班与安卓的本质比较与区别(Symbian vs Android) 安驾电子狗基本使用方法(android版本) adb工具的使用 - Android开发进阶交流 - eoe·Android开发社区 |最棒Android开发|最好Andriod社区|Android论坛 - Powered by Discuz! Android android Android 安卓(Android)系统的50个秘密·你都知道了吗?【留着慢慢看】 MIUI等第三方Android ROM的市场前景 网购手机的10大注意事项 - 新手入门与知识百科 - Android 中文论坛 机锋网|安... 如何让你的Android(安卓)手机华丽变身为Windows7和Vista操作系统? - ... Android那些事儿(二)安卓手机交互特性 - CSDN.NET - CSDN资讯 android文件关联的实现以及参数获取 - Android程序开发园地 - ITFunz摩托罗拉手机论坛 - Powered by Discuz! Android安卓系统下,软件安装到内存卡教程!!! Android安卓系统下,将软件安装到内存卡教程!!!转载 [Android ROM] 破解Recovery官方原版2.2.1ROM的完整SBF文件,附Root补丁 Android NDK的理解 Android:青春期的烦恼 设计Android的用户界面