查看: 8931|回复: 31
打印 上一主题 下一主题

扫盲贴,讲讲关于Android系统分配内存的问题,以及任务自杀

[复制链接]

47

主题

4

好友

1330

积分

研究生

Rank: 8Rank: 8

  • TA的每日心情
    开心
    2014-5-21 23:00
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    2197
    最后登录
    2016-8-2
    注册时间
    2011-1-8

    IP 编辑 禁止 帖子 清理

    跳转到指定楼层
    楼主
    发表于 2011-4-23 12:37 |只看该作者 |倒序浏览
    本帖最后由 阿财 于 2011-4-23 14:51 编辑

    本来我一直想写一个Android内存回收机制的分析,结果,发现隔壁Defy区有现成的:http://bbs.gfan.com/android-493545-1-1.html 就转过来了

    有很多同学表示,自己的机子开机内存怎么只有200m啦,用一会怎么就变成100多m啦,怎么有很多程序在后台关都关不了啦。回答了很多遍,实在是麻烦,在这里开个贴解释一下。

    首先你要知道Android系统是基于Linux 2.6内核开发的开源操作系统(linux是啥都不知道自己去百度吧),而linux系统的内存管理有其独特的动态存储管理机制。不过Android系统对Linux的内存管理机制进行了优化,Linux系统会在进程活动停止后就结束该进程,而Android把这些进程都保留在内存中,直到系统需要更多内存为止。这些保留在内存中的进程通常情况下不会影响整体系统的运行速度,并且当用户再次激活这些进程时,提升了进程的启动速度。

    如果你懂java,就会更容易理解Android系统的内存管理机制。与java的垃圾回收机制类似,系统有一个规则来回收内存。进行内存调度有个阈值,只有低于这个值系统才会按一个列表来关闭用户不需要的东西。Android系统有六类进程:前台进程、可见进程、次要服务、后台进程、内容供应节点、空进程。对于高手而言可以用MinFreeManager之类的软件进行进程管理,分别为六类进程设定不同的阈值来操纵系统的内存分配机制。不过对于一般用户而言,Android系统默认的分配机制已经可以满足使用需要,因此也不需要再去调整。

    对于一些内存很低的低端Android机而言,系统默认的内存分配机制无法实现很完善的内存调配。所以在运行大型游戏时需要先清理一下内存。然而对于我们的T959而言,512m的总内存和100M的空余内存已经可以充分的满足系统自动调配的需要,因此完全没有必要老去杀进程、清内存。

    有的兄弟说后台挂着程序很费电,事实上Android的应用在被切换到后台时,它其实已经被暂停了,并不会消耗cpu资源,只保留了运行状态。至于QQ、音乐播放之类的程序可以在后台运行,是因为这些程序在后台开启了服务,而服务可以后台运行,所以没有带服务的应用在后台是完全不耗电的,没有必要关闭。这种设计本来就是一个非常好的设计,下次启动程序时,会更快,因为不需要读取界面资源。

    Android系统这样的设计不仅非常适合移动终端的需要,而且减少了系统崩溃的可能,确保了系统的稳定性。老想着清理内存的同学完全是因为被塞班或者Windows毒害太深,事实上,经常用Taskiller之类的软件关闭后台所有进程,很容易造成系统的不稳定。很多时候出现问题,只要重启就能解决,其原因也在于此。

    说了这么多,总结起来很简单,牛B的人自己去操纵系统内存分配的阈值,而普通用户则是想怎么用就怎么用,完全不用去鸟剩余内存的问题,那些内存清理的程序完全可以扔到一边了。

    PS:

    1.按home退出,程序保留状态为后台进程;按返回键退出,程序保留状态为空进程。空进程的oom_adj评值高于后台进程,更容易被系统清理。所以推荐用返回键退出。

    2.UC、愤怒小鸟、都市赛车之类程序本身提供关闭选项功能的,还是尽量主动关闭。浏览器、电子市场、opera mini等不提供关闭功能的,直接返回键退出就行。


    3.所谓的任务自杀就是定时去调用系统的自动清理内存功能,原本系统是内存低于设定的警戒线(专业名称叫做阈值)了才回去清理内存关闭已经不再前台运行的程序。而用了任务自杀就是开关屏也清理一次。让用户感觉平时看内存数值好像能多一些。

    5

    查看全部评分

    分享到:
    应用程序未安装  superuser

    6

    主题

    4

    好友

    431

    积分

    大学本科

    Rank: 6Rank: 6

  • TA的每日心情
    开心
    2014-5-1 13:38
  • 签到天数: 1 天

    [LV.1]初来乍到

    G币
    493
    最后登录
    2016-8-2
    注册时间
    2010-7-31

    IP 编辑 禁止 帖子 清理

    沙发
    发表于 2011-4-23 12:46 |只看该作者
    这么好的帖子怎么没人顶?LZ用心良苦了,抢下沙发慢慢看。
    独爱安卓
    qq升级王  怎么截屏 

    26

    主题

    0

    好友

    1311

    积分

    研究生

    Rank: 8Rank: 8

    该用户从未签到

    G币
    597
    最后登录
    2016-12-20
    注册时间
    2011-1-13

    IP 编辑 禁止 帖子 清理

    板凳
    发表于 2011-4-23 12:50 |只看该作者
    学习了!!!
    z4root中文版  三星i9003论坛

    10

    主题

    0

    好友

    232

    积分

    大学专科

    Rank: 5Rank: 5

    该用户从未签到

    G币
    752
    最后登录
    2016-8-2
    注册时间
    2011-2-14

    IP 编辑 禁止 帖子 清理

    地板
    发表于 2011-4-23 12:54 |只看该作者
    将的很有道理额
    微博http://weibo.com/sunyun54
    魅族mx2 td  win7做wifi热点 

    2

    主题

    0

    好友

    112

    积分

    高中生

    Rank: 4

    该用户从未签到

    G币
    122
    最后登录
    2016-8-2
    注册时间
    2011-3-21

    IP 编辑 禁止 帖子 清理

    5
    发表于 2011-4-23 13:13 |只看该作者
    技术贴,这个有点类似xp和win7的内存管理机制的差异,并不是剩余内存越多越好,这直接影响了系统和软件的体验
    color os  植物大战僵尸2新手卡礼包激活码

    88

    主题

    0

    好友

    1157

    积分

    研究生

    Rank: 8Rank: 8

    该用户从未签到

    G币
    2874
    最后登录
    2016-8-2
    注册时间
    2010-5-29

    IP 编辑 禁止 帖子 清理

    6
    发表于 2011-4-23 13:18 |只看该作者
    不错,学习了,但是说实话,进程不杀,确实耗电些
    快播任务创建失败   安卓天天跑酷刷金币

    15

    主题

    0

    好友

    1020

    积分

    学士

    Rank: 7Rank: 7Rank: 7

    该用户从未签到

    G币
    87
    最后登录
    2016-11-5
    注册时间
    2011-3-26

    IP 编辑 禁止 帖子 清理

    7
    发表于 2011-4-23 13:22 |只看该作者
    好帖,辛苦了
    小盆友是什么意思   nds模拟器游戏下载

    49

    主题

    1

    好友

    1301

    积分

    研究生

    Rank: 8Rank: 8

    该用户从未签到

    G币
    1591
    最后登录
    2016-8-2
    注册时间
    2010-12-11

    IP 编辑 禁止 帖子 清理

    8
    发表于 2011-4-23 13:40 |只看该作者
    转人家的最好标明一下
    别把青春给了床
    谷歌不能用了吗  手机无线上网慢 

    9

    主题

    2

    好友

    383

    积分

    大学专科

    Rank: 5Rank: 5

    该用户从未签到

    G币
    356
    最后登录
    2016-12-14
    注册时间
    2010-5-16

    IP 编辑 禁止 帖子 清理

    9
    发表于 2011-4-23 13:53 |只看该作者
    这个必须顶起
    NEXUS S
    水货机  梅根福克斯超人装

    60

    主题

    1

    好友

    2403

    积分

    硕士

    Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    开心
    2016-10-19 05:10
  • 签到天数: 640 天

    [LV.9]以坛为家II

    G币
    2406
    最后登录
    2016-10-19
    注册时间
    2010-11-15

    IP 编辑 禁止 帖子 清理

    10
    发表于 2011-4-23 13:57 |只看该作者
    将的很有道理额 {:122_338:}
    狂揍老板  三星i9003刷机包
    高级模式
    B Color Image Link Quote Code Smilies @朋友 |上传

    举报|手机版|机锋网 ( 京ICP备15020343号 | 京公网安备11010802020450号

    GMT+8, 2017-1-23 23:42

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部