当前位置: 首页 > 教育

为什么同样是8G运行内存,Windows能同时开一大堆后台进程和前台应用,而Android不可以?

来自: 上海 查看: 5075 狼み狠虚伪  百度已收录

安卓吃内存,Windows吃CPU,安卓属于Linux,有用没用先把内存吃完了再说

Windows系统和Android系统的设计之初就有本质上的区别。

笔记本合上上盖休眠的时候,就真的什么事情都不做了,所有的应用程序也确实都停止运行了。所以Windows系统不需要暴力的杀后台,更不用操心有后台应用影响休眠时长和电池续航的问题。

手机你能让它休眠吗?不能,手机如果休眠了,可能连个电话都接不到,这就违背了它一直延续的初衷-“联系”。手机关闭屏幕的时候,还有有部分应用程序依然需要运行,但有其他很多应用却想搭便车,非常努力地让自己在后台上运行着,这就严重的降低了手机续航的能力,手机厂商在做系统开发的时候就会非常激进的采取杀后台的策略来提高手机的续航能力、降低发热量。

电脑有庞大的空间和散热系统,而手机只能蜷缩在狭小的空间里想法降低功耗

实践证明高温和高压都会严重的影响电子设备的使用寿命,而实践又证明有效的散热能够提高电子设备的使用寿命。

电脑的供电足,它的马力自然也就足,要不然需要那么大面积的PCB板干嘛?当然它的散热的能力也不弱,又是铜管、又是散热风扇、又是水冷,风扇一个不够那就两个呗。

反观手机就很难做到非常好的散热能力,玩着手机的时候稍微有点发烫就已经属于很严重的现象级故障。手机厂商总是在外观、体积、功耗、散热、续航等各项指标中来回地徘徊,寻找一个平衡点。手机采用低功耗的ARM架构处理器就相当可以理解了。Intel和AMD也想闯入手机市场,多次尝试无果后只能黯然离场。

Windows的芯片架构和手机的芯片架构存在本质上的区别

Windows代表着X86的芯片架构阵营,而手机的芯片架构由ARM一统江湖。有人说X86架构无法做到ARM架构的功耗,而ARM架构也无法做到X86架构的性能。

我们可以在电脑上安装一个模拟器来玩手机游戏,这样就可以大屏玩游戏了,简直不要太爽。但要是扛着一台电脑来打电话,是不是会比刚开始的“大哥大”还要落后呢?

我们也可以在手机上安装或者虚拟一个Windows的操作系统,其结果就是卡到你怀疑人生,更别提正常得不能再正常的生产力用途了,比如打开CAD、3DMAX、Pr等。手机这么小,就算打开这些程序都不会卡,那么我们是要放大还是要持续放大呢?

总结

在桌面操作系统,不管是Windows、GNU/Linux都会在内存全部耗尽的时候才会试图杀进程(MacOS有所不同)。而Android就不行,哪怕系统有16G内存,某个应用程序仅占用了1G内存,照样杀掉你的进程没有一点商量。

归根结底,就是Windows和Android的应用场景不同,导致了系统设计出现了极大的不同。Windows本身就是一个重量级的多任务系统,它设计的目标可不仅仅是为了生活娱乐,更重要的是它肩负的任何繁重而严肃。Android是一个轻量级的操作系统,设计的初衷也并没有把它当成是一个生产力系统,也没有打算同时运行那么多的APP,可以说Android的火爆超出了当初设计者的预料。


以上个人浅见,欢迎批评指正。

认同我的看法,请点个赞再走,感谢!

喜欢我的,请关注我,再次感谢!

你比较一下QQ电脑版和安卓版占的内存就知道为什么了

windows属于pc操作系统,主要的目的是尽量发挥硬件的计算性能。它不用考虑能源消耗,可以长时间保持cpu全速运行,可以不考虑内存容量,不行就用硬盘缓存。android是移动操作系统,要保证在能量消耗受限制的情况下,设备提供可接受的计算性能。所以,要明确区分对客户有用的程序,把有限资源分配给客户最希望的程序。尽量把临时信息存储在内存而不是rom中,以节省电量和加快运算速度。这两个策略的不同,造成它们在不同领域都有更好的表现。其实,android的linux内核如果调整后放到pc机上,能比windows同时运行更多的应用。windows裁剪后的wiodows mobile也比android更省电,反应更快。

因为架构不一样,手机8G和电脑8G没得比,就好像现在最先进的手机芯片性能都完全比不过10年前的电脑芯片,骁龙865都还没有奔腾处理器厉害

感谢邀请回答

@公子Virson

这个领域并不是我擅长的,我把我懂得说一下吧。

或许是因为两个处理器的定位不一样,使用的指令集不一样,台式机处理器使用的是复杂指令集,执行度低,冗余高。手机处理器使用的是简单指令集,执行度高,冗余低。也可以从系统架构区别,Windows等桌面系统采用的是随用随取,后台保存。安卓操作系统采用的是内存先行制,先先用,后使用。所以出现了8g内存,开机先用4g;4g内存,同样的系统,开机先用2g。当然桌面系统也有这个情况,只是因为内存调用和回收机制,这一点比移动系统好很多。

感谢邀请,个人想法,有不同意见可在留言讨论。

几个地方是肯定不一样的。1、windows可以把内存数据导入硬盘,安卓没这个机制。2、安卓多是arm指令,程序占内存多。大概多1倍以上。3、内存释放安卓要自动释放,Windows大多在程序内解决。4、就是程序员对内存感觉的问题了,岁数大的程序员对内存敏感,安卓程序员近年膨胀速度快,年龄普遍偏小,对内存占用不敏感。

精简指令集吃内存,复杂指令集吃cpu。

电脑系统可以把缓存写入硬盘,也就是所谓的“虚拟内存”,优先保证当前运行的程序的内存占用,当然如果你电脑安装了n多软件,比如各种全家桶各种游戏软件影音软件,开机启动一大堆,那么你8g内存照样开机快给你吃完。

所以内存占用并不见得比手机占用低,关键你你装了哪些流氓软件。电脑若刚装上新系统,手机刚恢复出厂,他们都会很干净,内存占用不多

Android的后台进城够多了几百个