Android 手机是否会越用越卡?

标签: zhihu | 发表时间:2016-11-26 00:00 | 作者:
分享到:
出处:http://itindex.net/admin/pagedetail
【前言】答得不是很全面,也没法一次性太详细地展开,想到哪写到哪,不然写成论文就累死了...想到别的点再更新吧...

【原因分析】

Q:
不是说用个一会会有点卡顿,而是一个 Android 手机,用个半年后就怎么刷机都不会跟最开始一样流畅了。
A:目前想到的可能原因有:

1,手机存储芯片随着使用自然变慢

有些手机存储芯片是 TLC,可能有提供一个特性,在内部存储区域的dirty区域小于 1/3之前呈现 SLC 特性,随着各种使用,最后 dirty 区域会大于 1/3,然后退化为 TLC。TLC 慢,SLC快。这个特性是 EMMC 厂商加速出厂时的刷机速度引入。

需要说明的是,可能并不是所有TLC都有这个特性,另外,对于大size的emmc,这个性能下降并不明显,低端一些的,比如8G的速度可能掉到几M写速度,16G的到十多M顺序写,32G和64G的会好一些,是变慢但可能影响不大,大部分场合都感觉不出来。

2,硬件老化和各种跌落导致零件损坏

如果有部分器件损坏,可能会导致相应的驱动以及上层服务工作异常,负载很高,从而导致其他正常任务无法获得足够的处理器资源而变慢。

3,各种器件,触点老化导致手机能耗增加,容易发热以后会触发系统温控,从而引起cpu降频导致系统变慢

4,各种新的大版本升级固件相比第一版固件,往往没有相当的研发和测试投入,可能会导致新固件反而没有老固件优化到位,所以感觉卡顿。没有优化到位,也可能有供应商的原因,比如说GPU的闭源库更新可能无法跟上Android新的显示架构更新。当然,不排除新版本因为Android新版本引入了新技术(比如ART)以及其他方面的优化技术积累而做得更好。

5,落下一个很重要的原因,那就是随着硬件的更新换代,Android也不停地迭代,并且几乎每一个版本都耗费更多的资源(更多的是内存与flash),所以就同样的硬件配置,老版本Android可能顺畅得很,而新版本已经跑不动了。随着 Android 新功能的不断增加,对内存的消耗已经是无法刹车了,早期 512M 的如果不做特殊的定制和裁剪,可能完全跑不动了,1G的甚至都必须配 ZRAM swap(时间换空间)。但是,也需要看到Google其他方面的努力,比如说ART,比如说下一代Android M即将推出的Doze和App Standby。

--------

如果是针对同一个固件,原因则:

1,主要是各类软件开启后导致后台软件运行得越来越多,各类默认负载不断加大,空闲处理器资源减少

2,随着后台应用的叠加,内存耗费也会逐步增加,导致最后空闲内存下降,新的任务启动甚至老的任务回到前台需要内存资源时可能需要触发zram swap或者lowmemkiller,这些都会不可避免的带来延迟,而一旦有持续的内存泄露,甚至无法回收内存而会导致系统最后崩溃

3,还有一个特别典型的原因就是,当后台驻留应用泛滥后,随着内存耗费的增加,内存的碎片化会很严重,也就是物理连续的内存会越来越少,这会引起严重的IO性能衰退,可能会导致IO从顺序操作转变为随机操作。

4,类似地,随着应用增多,系统更容易发热,更容易触发系统温控,从而引起降频等动作,各类资源供给降低自然会引起体验下降

5,除此之外,部分温控技术引入了降FPS,这个是明显影响用户体验感知的,当然这也无可厚非,平衡发热和性能一直是硬件固化之后的必由之路

【解决办法】

一,对用户

1,一键清理后台
2,自启动管理,只允许部分自启动
3,后台管理,只允许部分后台
3,重启
4,换新机(建议选购时用16G+,8G的话确认下是不是MLC,更多选购考虑的因素很多,没法一一列出,后面有机会从技术的角度写个新机选购指南。)

注:第2,3个有的系统自带(包括最新版的MIUI,Flyme等都有自带了),有的要安装第三方app,比如绿色守护,下一代Android M有Doze+App Standby,具体效果如何,让我们拭目以待吧。

二,对手机厂商

研发方面做好各类预研,选型,设计,开发,测试和优化,例如:

1,限制后台任务个数
2,解决系统和内核内存泄露
3,错误注入与容错
4,更均衡的cpu/gpu/mem/emmc等
5,做好结构散热
6,优化系统能耗
7,智能清理后台+白名单
8,优化应用
9,资源配额
10,防止信号干扰
11,自启动管理+白名单 ……

其中,Android本身在好几个方面还有极大地改善空间,比如说IO资源配额和信息Push,这些都是客制化厂商和Google需要努力的空间,甚至需要厂商之前协同制定统一的标准。

部分性能问题跟功耗关联,有兴趣可以看我早期写的“长篇大论”, 魅族 MX3 Flyme 3.0 省电技术详解 ,当然,里头的东西也不是很全面,后续有空再展开。

三,对应用开发厂商

很多应用做得很流氓,包括很多大厂,想尽办法让自己驻留在后台,还没有节制的活动;而另外一部分可能受限于技术积累和架构能力,开发出来的应用对各类系统资源的需求很大。前段时间Google放出了好多性能优化相关的视频,这个是很好的信号吧,不过整个行业的应用质量要逐步提高起来,还是需要一个过程,先期望那些大厂能做一些实质的努力。

当然,供应商们的驱动,HAL以及上层APP也会有很多优化的空间。

【结尾】
Android 在不断地迭代,包括客制化厂商和Google 都在不断努力完善,所以长远来看,体验应该是不断优化的...

对于用户来说,学习一些选购知识和一些基本的用法就好了,实在不行就换个口碑更好的机子或者自己到体验店或者借其他同学的手机感受下,然后稍微学习一些简单的用法就好。好的系统的交互设计往往会降低用户的学习成本。

对于身在客制化厂商或者应用开发的各类Engineer,学习一些优化知识,研究各种改善体验的技术,研究竞品,相互学习,与公司内部各个部门协同,致力于改善用户体验应该是我们持久的使命。

除了性能,稳定性,功耗,温控和安全等几个,事关用户的核心体验,都需要整个行业一起努力,持续的优化。

用户不是傻子,最后都得拿产品说话。

相关 [android 手机] 推荐:

在Android手机上运行Ubuntu

- Alex Yu - Solidot
51开源社区 写道 "HTC Desire手机在经过简单的破解步骤后,已经可以相对稳定地运行以桌面应用为主的Linux操作系统Ubuntu. 破解方法是由一位论坛ID叫“Bergfex”的开发者发布的. 整个破解过程十分简便,仅需要在指定的文件夹——如SD卡的根目录和电脑的某个位置——中加载相应的zip文件,然后将手机设置成bootloader模式下加载,之后再将手机和电脑连接后重启即可.

HTC宣布将不锁定Android手机

- Ra白菜 - Solidot
HTC首席执行官周永明(Peter Chou)宣布,该公司未来的Android智能手机将不再锁定bootloader. HTC去年12月发布了Android 2.2 for Wildfire,更新了bootloader,不允许用户再修改固件. 由于HTC不太可能再发布新的更新,这意味着Wildfire用户无法获得新系统带来的新功能,或者安装新的自制固件,如CM7.

中国Android手机遭病毒攻击

- Benny Wen - Solidot
路透社报道,安全研究人员周四称,名为Geinimi的病毒正通过中国Android第三方应用商店传播,是第一种有类似僵尸网络功能的Android恶意程序. 安全公司Lookout Mobile Security估计,被该病毒感染的手机数量在数万到数十万部之间. 他们目前只在中国Android第三方应用商店中发现了含有该病毒的软件,而官方的Android电子市场似乎是安全的.

Cobra Tag + Android 手机帮你找东西

- 可可 - 谷安——谷奥Android专题站
钥匙或什么东西放到哪儿搞忘了. Cobra Tag 可以帮你找到. Cobra Tag 是一种钥匙挂饰,你可以将它挂到你的钥匙上或放到钱包中,而通过专用的(Android)智能手机应用,当挂饰在信号范围内时,就会发出蜂鸣声、震动等来提示你,当这些挂饰离开你一定的范围时手机应用也会提醒器(对防盗来说也有一定的功效).

超实用Android手机指令大全

- MZ - 乐淘吧
【超实用Android手机指令大全】快速设定手机,快速查看手机,全部都告诉你,Android手机用户一定要保存的Android手机指令大全. 我用android手机一定是好男人. [博海拾贝]有时候,最痛苦的不是失去,而是得到以后不快乐. [博海拾贝]与其诅咒黑暗 不如点起一根蜡烛.  » 非特殊声明本站所有文章,图片,视频全部来自网络,如有侵权>,请通知本站.

Pantech Android 手机使用 DDR2 内存

- David Z - Engadget 中国版
Pantech 在港台市场没有太高的知名度,手机也很难买到,但他们推出的手机一直以来在韩国也有不错的销量,加上话题性的规格,未来若大力发展韩国以外的市场,销量应该不会太差. Pantech 日前发布全球第一部使用 DDR2 内存的 Android 手机,名为 Vega Xperss. Vega Xpress 配备 4寸 800X480 LCD 屏幕、Android 2.2 系统、WIFI 802.11n、500万像素自动对焦镜头、1500mAh 电池.

Android 手机的桌面通知

- liusp - I, KDE
Android手机有一个项目,可以将Android手机的通知推送到电脑上. 这个项目本身其实是用java外加swt完成的,在KDE的桌面中需要配置成使用libnotify作为通知机制才能在桌面看到. 本身可以通过蓝牙或者网络发送通知. Chakra和Archlinux需要分别在CCR或者AUR安装android-notifier-desktop,然后启动这个程序.

手机QQ2011(Android)正式版发布

- SINCERE - cnBeta.COM
QQ2011(Android)正式版 Build0205  更新说明.     1.加、退群功能完善和优化.     2.搜索界面展示优化并加入群搜索结果.     3.新增部分超级QQ功能.     4.修复添加好友不成功、长昵称显示不全等BUG.

Android手机远程控制电脑

- - Wing的风言风语
人类总是有一股很强的控制欲,就像三体里面很多人抢着当执剑人一样,尽管执剑人的生活估计在地狱都很难找到. 用电脑控制另一台电脑显然已经不能满足我们了,于是就想到了用手机远程控制电脑,这里介绍两款免费的Android手机的软件. 官方网址: http://www.teamviewer.com/zhCN/index.aspx.

给 Android 手机刷上 CyanogenMod(CM7)

- - Wow! Ubuntu
CyanogenMod (以下简称CM)是一个比较受欢迎的第三方 Android ROM,具有体积小巧和效率高等特点. 如果你的计算机已经被你折腾得够惨了,为何不考虑将毒手转向你手机呢. 刷 Android 手机是比较简单的,大概的步骤有:. 下载跟你手机型号配对的 CM ROM. 根据 CM 的 Wiki 里面的指南继续接下来的步骤,因为不同型号的 Android 手机步骤可能不太相同,下面步骤以 HTC Desire S (即G12)作为例子.