android - 何故现在安卓手机的后台应用,占用内存如此多,那么安卓系统调度内存的总原则是什么?
迷茫
迷茫 2017-04-17 17:33:04
0
2
688

描述问题

从来不杀后台进程,因为自己信奉缓存这一套

但是也惊异于现在安卓应用的内存占用之大,比如「开机不久后内存剩下500M左右」,但我显然是会不断缓存后台应用的

故对安卓系统的内存调度原则产生了兴趣

上下文环境

国产X米手机5-3GRAM  (常用应用20几个)

习惯:
1. 从来不杀后台进程(坚持「内存不用就是浪费」的道理)

重现

普遍现象

已经尝试哪些方法仍然没有解决(附上相关链接)

根据自己对Linux的些许了解,自己的模糊认识如下:

  1. 有多少用多少, 最好全部用上

  2. 新进程加进来,踢掉闲置进程

问题简化

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

répondre à tous(2)
Peter_Zhu

其实内存并不能分析后台运行着多少内存,也不是手机卡不卡的主要原因,你要去比较一下iOS里的内存占用,一点都不比Android的少,何况iPhone本身内存就少。
手机的功耗集中在CPU上,内存不管你用多少,都是一样的消耗。
关于对后台应用的调度,Android和iOS机制都差不多,往满了塞,不够了就清后台程序腾空间。而程序有带有优先级,优先级低的会先选择被杀掉。
区别在于Android和iOS对后台程序的机制不同,iOS只允许很少一部分的程序能够常驻后台,而Android则没有任何限制,任由程序侵占后台。特别是Google没有进入国内,国内的Android市场一片混乱,也没有任何一家市场去约束App的行为,所以又推动了Android应用从设计上就肆意妄为。有的App即使本身没有常驻后台的需求,也非弄点花样非要常驻后台。长此以往,手机长时间处于高负荷状态,也就导致了Android机器越用越卡。

刘奇

1,app会相互唤醒+后台自启+通过系统事件触发防止自己被kill掉
2,缓存越积越多,有时候不是卸载掉app就能完全清除该app的缓存
3,app设计上的臃肿,没有做性能优化
至于安卓系统调度内存的总原则,不是很清楚

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal