» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

关于内存和耗电,献给Android用户。

最近内存大小的问题又火了一把。各种说法不断出现,但由于广大Android用户可能不具备专业知识,他们很难区分哪些说法是对的,哪些不对。哪些最接近真实的谎言往往是危害最大的。于是我想写一些东西告诉广大Android用户一些知识,尤其是那些没有专业知识的Android用户,方便他们在今后使用Android的时候能具备一定的理论基础。

Q:问什么只说Android,不说iOS?
A:苹果已经把所有问题都考虑好了,苹果的做法完全符合我要说观点,所以不再阐述。

最近有一个最似是而非的说法:“内存当然是越大越好,内存大了,更多的APP可以留在内存里,不用重载,速度快,又省电。”,接下来让我们基于Android来讨论这个句话。
首先这句话里有对的部分“内存大了,更多的APP可以留在内存里,不用重载,速度快。”这句话虽然对,但是对于没有专业知识的用户来说,它夸大了效果。这里的速度快,仅仅是只载重新启动APP的时候。你比如说APP微信,在iPhone6 Plus上,它重启一般需要花2秒左右。其实我个人认为这2秒的延迟相对于你5-6分钟使用来说完全可以忽略,尤其是当你知道为了省这2秒,可能会让你的手机续航减少几小时的时候,你应该会认为牺牲这2秒完全是值得的,这个问题我们一会说。
现在我们来说说省电的问题。如果内存大到APP都能留在内存里,这样到底会不会更省电?从技术上来说,内存里有什么东西,对耗电的影响可以忽略不计,唯一有影响的是内存大小,内存越大自然要多耗电点,但是也不多。但是实际情况和技术上差别很大。感兴趣的读者可以做个实验,把笔记本接上电源,充满电,关闭休眠。然后你打开很多应用后不做任何操作,把电源去掉,靠电池供电。如果按技术上来说,这时候你笔记本的续航应该和不开任何应用程序没有什么区别,但实际情况是耗电会多很多。为什么?答案非常简单,现在没有哪个程序打开后是纹丝不动的,它们总会试着去运行点什么。请大家记住这么简单的一句话,运行才耗电,不运行不耗电的。具体来说,这么多“活着”的APP,它们会不断的向CPU发出请求,导致系统耗电大大增加。“活的”APP数量越多,Cache被刷新的就越频繁,Cache刷新非常耗电。

Q: 什么是Cache?
A:Cache就是缓存,CPU不会直接与内存打交道,因为慢;CPU只与Cache打交道,因为快。如果数据不在Cache里,Cache再问内存要。Cache很小,手机上也就几MB,所以后台随意一个激活运行,Cache就要大范围刷新,这时候非常耗电(可以CPU本身耗电相匹敌)。

那在手机上怎么办呢,最好的做法就是禁止一切不必要的程序运行。这也就是为什么很多人不厌其烦的杀后台进程的原因。那么问题来了,你把人家都杀了,你还配那么大的内存有什么用呢?答案自然就是确实没什么用。在靠电源供电的系统上,这就是客观事实。
我们再来看看苹果是怎么做的。iOS一方面会把那些不用的APP给禁止掉,另一方面极为严格的限制APP自动运行。不得不说,在移动设备上,这是一个非常良好的策略。很多Android爱好者故意搬弄是非,把PC上的策略直接套用在手机上,得出苹果是假后台等等的言论。话说得对不对呢?完全正确。但假后台就是在手机上最正确的做法。

Q:那以后电池技术有了革命性的进步,苹果岂不是一下子落后了?
A:所谓的“假”后台,本身就是建立在“真”后台的技术上的。几分钟内你切换到之前运行的APP上不重载,就能说明这个问题。所谓的“假”后台是在“真”后台的技术上建立起一套规则,这套规则对于APP来说是透明的,哪天苹果把这套规则去掉了,对APP来说几乎没有任何影响。

结论:在手机上,追求一个有良好资源管理方式的系统,比单纯追求硬件上内存大小,CPU核数,电池电量等要有意义得多,后者是在补丁上打补丁。


本帖最近评分记录
  • livealive 激骚 -6 反对 Rated by wap 2015-9-15 08:13
  • francisic 激骚 -5 反对 Rated by wap 2015-9-15 01:09
  • 熊抱禁止 激骚 -7 人身攻击 2015-9-14 21:40
  • lqmawei 激骚 -6 反对 Rated by wap 2015-9-14 19:57
  • atozwdwd 激骚 -3 精品文章 2015-9-14 18:55

TOP

posted by wap, platform: iPhone
喷了



TOP

虚拟内存大婶再次证明了ios只需要640k ram就够了


TOP

虚拟内存大神快说说6plus为什么忒他妈卡顿

TOP

posted by wap, platform: Chrome
对于Android来说,内存越大,能常驻内存的app和服务越多,是会更耗电的,因为app在后台还会自主运行。

但对于iOS,内存大,不代表更耗电,因为只有前台app才在运行状态,后台app要么被暂停,要么使用系统提供的后台模式在系统管理下受控运行,多加内存是没有问题的。苹果不肯加,一方面他觉得1G,2G够了,另一方面也希望节约成本(虽然手机价格并不下降)
本帖最近评分记录
  • DarthVadar 激骚 +1 最骚 Rated by wap 2015-9-14 17:13
  • shacg 激骚 +1 最骚 Rated by wap 2015-9-14 15:13
  • 雾桑 激骚 +1 最骚 Rated by wap 2015-9-14 15:04

TOP

TOP

posted by wap, platform: iPhone
引用:
原帖由 @thosetom  于 2015-9-14 13:40 发表
虚拟内存大神快说说6plus为什么忒他妈卡顿
卡顿的原因很多,建议你联系客服让他们给你做个确定的分析。
我也遇到过卡顿,一开始我以为是触摸屏的问题,检测结论是指纹识别传感器的问题,连我都没料到。

TOP

posted by wap, platform: Chrome
引用:
原帖由 @ff_cactus  于 2015-9-14 13:51 发表
卡顿的原因很多,建议你联系客服让他们给你做个确定的分析。
我也遇到过卡顿,一开始我以为是触摸屏的问题,检测结论是指纹识别传感器的问题,连我都没料到。
原来没有信仰加成,在神手上也会有问题啊,

TOP

我真心不懂为啥虚拟大神会觉得读写cache和读写内存得耗电量是不一样的,难道cache不是放到内存里面得,是采用了PS3的技术虚拟到SD卡上的原因么?

TOP

posted by wap, platform: Galaxy J
未来的1%用户表示没有4gram不敢买

TOP

posted by wap, platform: nubia Z7 Mini
Mac的内存又不少,楼主不要为了攻击安卓忘了常识

TOP

posted by wap, platform: Chrome
方便问下楼主在哪个行业工作吗

TOP

posted by wap, platform: iPhone
引用:
原帖由 @LTFYH  于 2015-9-14 14:16 发表
我真心不懂为啥虚拟大神会觉得读写cache和读写内存得耗电量是不一样的,难道cache不是放到内存里面得,是采用了PS3的技术虚拟到SD卡上的原因么?
Cache在物理上是和CPU封装在一起的。当讨论耗电的时候通常将其归纳到CPU耗电中。

TOP

posted by wap, platform: iPhone
引用:
原帖由 @yfl2  于 2015-9-14 14:21 发表
Mac的内存又不少,楼主不要为了攻击安卓忘了常识
你看得懂吗?

TOP

posted by wap, platform: iPhone
引用:
原帖由 @国家重点型号  于 2015-9-14 14:22 发表
方便问下楼主在哪个行业工作吗
以前搞电子的,现在搞软件。

TOP

发新话题
     
官方公众号及微博