小米6、荣耀9的6G运存,实际运存3G
实际剩余运存一般会在2G一下,安卓的运存机制有点巧妙,在运存充足的情况下,系统会分配每个程序足够多的内存使用以达到更高效。不同运存安卓机系统会给予app不同的内存上限,拿1G和3G比较,同样的如果某个app在1G运存手机中可使用的最大内存80mb,到了3G运存,app可占用的内存最高可达240mb,当这个app超出这个限额的时候,系统开始清理内存,这个程序不会被清理掉,但是它的部分进程或者服务将会被终止。当系统同时运行很多app时,就算每个app占的内存没有达到最大值,可如果系统总内存却占了80%以上,同样会触发系统清理那些无用的进程,这个时候你就会觉得手机卡顿,因为系统无限制清理后台内存时会占用cpu等资源。
当手机开机时,如果内存剩余很多时,就算你没有手动打开app,系统也会分配一些内存给系统app,因为每个app都是在虚拟机中运行的,虚拟机的大小就是系统为每个app提供的内存上限大小,就算系统app用不了这么多内存,系统也会给它留着,除非到了内存紧张的时候,系统才会调用这些闲置的内存,所以说,无论什么安卓手机,不管你运行内存有多大,开机剩余内存一般会在1半左右。很多一部分看似被用了,其实是在闲置中,它的使用优先级要低于剩余内存,也就是说,你要打开微博微信,剩余内存会减少,但闲置的内存不会被调用。
如果你开机清理内存,你会发现有时剩余内存会达到70%甚至更多,这是因为系统内存被清理,它虚拟机占用的内存会被释放出来,但是没用的,系统app的权限很高,它能自启动,清理掉的内存还会被侵占的。
内存与流畅度有着说不清的关系,如果系统给每个虚拟机的内存太大或者太小的话也不好,太大,当你打开几个app会发现内存用的很快,甚至会触发系统收回内存导致卡顿,如果太小的话,开机剩余内存是很多,但是由于虚拟机内存上限调小了,当你打开一个大型软件或者app时,这个程序并不是完整加载的,它的主程序在运行时,可能后台服务已经跨掉了。这对于一些游戏玩家来说是致命的,体验不流畅,游戏卡顿现象特别严重。
在国外的googleplay上,谷歌限制每个app的安装包大小不可超过50mb,如果是游戏的话,可以通过热更新的方式扩展游戏内容。因为不可超过50mb,所以app的很多进程被闲置占用内存的大小,如果不是手机内存太小的话,不会轻易触发系统清理内存。但国内没有这个限制,所以你感觉到国内的app属于流氓般的存在。
展开全部谢邀,
这是由于系统占用了大量内存,一般情况下,系统占用大概1.5g左右空间,当然这也跟手机厂商对系统的优化有关,优化不到位,内存占用率就大,有些厂商加入了很多无用的app,这就导致内存变大,可用内存较少。
为何安卓手机这么占内存,看看安卓Android后台的原理,你就明白了.
首先你要知道Android系统是基于Linux 2.6内核开发的开源操作系统(linux是啥都不知道自己去百度吧),而linux系统的内存管理有其独特的动态存储管理机制。
不过Android系统对Linux的内存管理机制进行了优化,Linux系统会在进程活动停止后就结束该进程,而Android把这些进程都保留在内存中,直到系统需要更多内存为止。
这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。
如果你懂java,就会更容易理解Android系统的内存管理机制。与java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阈值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。
Android系统有六类进程:
前台进程、可见进程、次要服务、后台进程、内容供应节点、空进程。
对于高手而言可以用MinFreeManager之类的软件进行进程管理,
分别为六类进程设定不同的阈值来操纵系统的内存分配机制。不过对于一般用户而言,Android系统默认的分配机制已经可以满足使用需要,因此也不需要再去调整。
对于一些内存很低的低端Android机而言,系统默认的内存分配机制无法实现很完善的内存调配。
所以在运行大型游戏时需要先清理一下内存。然而对于我们的DEFY而言,512m的总内存和几十m的空余内存已经可以充分的满足系统自动调配的需要,因此完全没有必要老去杀进程、清内存。
有的兄弟说后台挂着程序很费电,事实上Android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。
1.大程序A已经开启,占用70%内存,如果再想运行一个B,需要50%的内存,则就需要一个将A从内存中释放或者压缩的过程,所以表现出来的就是慢一会儿
2.ABCDE共占用内存80%,运行新程序Z需要 20%的内存,系统内存因为没见过剩余0的时候,也就是应该剩一部分空闲内存,那么就需要从A~E这几个程序中选择一个或者几个来关闭,这一过程也需要耗费系统资源,所以会慢一会儿
3.也就是说你手动去杀程序的时候,就是替系统在释放内存,就算你不杀,在需要内存的时候系统也会自动释放.
4.不在后台运行的程序(没服务的),即使不杀也不会耗电.在后台运行的(有服务的)程序,如后台放歌,当然会耗电.
5.不是说杀进程没用,不然作者就不会推荐进程管理软件了.哪个带服务耗电哪个后台一直在运行,看服务就能看出来,这样的该杀.
6,以qq举例,正常的退,会在进程管理里留下qq的运行状态,但不耗电不占 cpu,如果你只是切换出去(按小房子而不是退出)那么自然会耗电,因为程序还在运行.
(qq后台一样后台 就是qq正常退出的时候 和别的软件一样 不完全退出 会在内存里留着 但是不占cpu 不费电 再次启动就会非常快了 这就是为什么 android 能超越 WM6的系统的原因