当人们在讨论安卓手机掉帧、卡顿、续航变短的时候,常常会接着讨论手机性能不足、电池太小等等硬件相关问题,对手机稍有了解的可能还会说安卓系统的优化不足……但你有没有想过,这一切的根源,极有可能是你每天都要使用的 APP。

在这里,我将会展示几组截图,用直观的数据来说明 APP 对手机的影响究竟有多大。

先展示一下本文的主角,一台 MSM8260 @2.05Ghz 的双核手机,运行基于 AOSP(Android Open Source Project)原生安卓 6.0.1。平日里这台手机的画风是这样的。

【实验组】

这台手机虽然年代久远,但性能却足以流畅运行安卓 6.0 系统,仍然能满足当下对于一台安卓手机的所有需求。下面我将在这台手机上安装 16 个国内最常用的 APP,并对手机在安装前后的流畅度、电力消耗、唤醒、性能消耗进行对比。实验用 APP 名单如下:爱奇艺、百度贴吧、百度地图、滴滴出行、美团、去哪儿旅行、QQ、QQ音乐、手机京东、手机淘宝、腾讯新闻、UC浏览器、微博、微信、支付宝、百度手机助手。

以下是对比图:

注1(你可以在“手机设置>开发人员选项>(监控 )GPU 呈现模式分析”中选择在“屏幕上显示为条形图”来开启这个界面)。

注2(你可以在“手机设置>电池中”点按耗电图来开启这个界面)。

注3(安装“Wakelock Detector”,选择“唤醒触发器”可以开启这个界面)。

注4(安装“3C Toolbox”,启用桌面小部件可以开启这个界面)

关于各个对比图的详细说明:

注1:关于如何读懂“玄学曲线”请参考这篇文章「玄学曲线并不玄 教你如何看懂 GPU 呈现」。可以看出,在安装前绝大多数时间条形图都低于水平基准线,仅仅只是在性能监控小部件内容更新时会有红色和黄色超出去一些,能代表流畅性的蓝色基本处于基准上下;而安装后蓝色柱形图大量超出基准,有的甚至达到了屏幕顶端。在所有APP通过百度手机助手安装完成以后我甚至没有运行其中的任何一个,这对手机性能的影响堪称立竿见影。

注2:这台手机已经有了将近五年的寿命,电池容量早已大幅度下降,经过大约 10 小时的待机后耗电 10%,预计剩余待机时间仍有三天;而安装了国内常用APP后,我在关机状态下充满电开机,并放置不管,大约两个小时的待机消耗掉了 62% 的电力,至于原因大家注意一下“唤醒”一栏便一清二楚——原本只有一点点的唤醒变得和 WiFi 一样长,从开机的时候起就从没停止过。全程两小时的待机过程中手机一直处于温热状态,如果你的手机常常在待机状态下发热,那么这就是原因了,你安装的手机APP们在肆无忌惮消耗你的电力,还是在你不曾使用手机的情况下。一般来说唤醒的长度应该和屏幕开启差不多,或是略长一些。

至于为什么安装后的图像有断层?因为 16 个 APP 的相互唤醒已经耗尽了手机的所有性能,从按下电源键到屏幕亮起长达半分钟,即使屏幕亮起也是各种系统组件停止运行没有响应,手机完全无法操作,不得已只好强制重启后趁着毒瘤自启完成前截图。

注3:没有什么好说的,趁着刚开机的时候截图的,所以次数都不多,但顶部高达 93% 的统计唤醒时间已经很说明问题了。自从安装这些 APP 以后,每次开机一段时间所有毒瘤都完成了自启,手机立刻卡到无法操作。

注4:安装前是长时间待机后立刻截取的屏幕,CPU 负载是0%,CPU 温度和室温相同,内存占用和剩余都是 430MB+,手机处于空载状态;安装后是我强制重启卡死的手机并趁着毒瘤自启完成前截取的图片,可见 CPU 负载高达67%,待机温度大约 50°C,剩余内存仅有 272MB,手机一直在处理各个毒瘤的相互唤醒。

总结:

没有比基于 AOSP 的 ROM 更能代表安卓最核心体验的了,在这样的系统下,不加任何优化地安装全中国装机量最大的几款APP后,手机性能遭到了毁灭性的打击。我是安卓用户,我热爱安卓的开放和高度自订,但我仍然尽可能地推荐别人买 iPhone,因为我知道选择安卓意味着什么,以及选择自由以后那些必然要付出的代价。

【对照组】

但我们仍然拥有最后一丝疑问,究竟是安卓系统导致了这些问题,还是安装的应用导致了这些情况?这一次,我选取了另外 16 款 APP,不同于上次的是本次实验用 APP 全部来自外国的开发团队,根据 Google Play 的下载总排行,其中大多是欧美地区保有量相当巨大的 APP。测试机型依旧是那台配置老掉牙的古董安卓手机。

那么国内 VS 国外,两种不同文化背景下的 APP,究竟对手机有怎样不同的影响呢?到底是不是安卓系统的设计问题呢?

实验用 APP 名单(通过 Google Play 下载):亚马逊购物、Snapchat、Twitter、PayPal、eBay、Netflix、Facebook、YouTube、Uber、Tumblr、Spotify、Pinterest、Messenger、Skype、WhatApp、Instagram。

以下是对比图:

注1(你可以在“手机设置>开发人员选项>(监控) GPU 呈现模式分析”中选择在“屏幕上显示为条形图”来开启这个界面)。

注2(你可以在“手机设置>电池中”点按耗电图来开启这个界面)。

注3(安装“Wakelock Detector”,选择“唤醒触发器”可以开启这个界面)。

注4(安装“3C Toolbox”,启用桌面小部件可以开启这个界面)

关于各个对比图的详细说明:

注1:同样是安装完成后不运行其中任何一个应用,流畅度在安装前后基本一致,柱状图表示略卡一些(毕竟要多绘制一个屏幕和 16 个图标),但是我没有感受到明显卡顿,和国内 APP 的情况完全是天差地别。

注2:安装前我待机了 6 个小时,耗电 6%,和上一次的安装前结果基本一致;安装后我待机了 11 个小时,电池由 91% 下降到了 83%,耗电 8%,预计待机时间少了一天……请关注唤醒一栏,并和国内 APP 的情况做对比。

注3:安装前和安装后的统计时长差别巨大,但唤醒时间只有 1% 的差距(安装后反而更低),其中 WhatApp 唤醒 6 次,Facebook 唤醒 3 次,其余全部都是系统应用。WhatApp 我登陆了账号,Facebook 我没有打开过。

注4:安装后的内存占用多出了 40 MB,CPU 温度基本在室温范畴,流畅度未受到重大影响。

可是实际运行如何?

刷推特在大信息流下会有掉帧,不过反应很快,操作很跟手,又不是不能用,不会像国内 APP 那样直接卡死导致整台手机根本无法操作。

WhatApp 据说是国外的微信?反正我没见过几个人用。柱状图呈锯齿状挺有特色,略有掉帧,能用,挺好。

总结:

经过上述测试,我们基本可以得出结论——国内 APP 欠缺优化的代码是安卓手机卡顿的根源。同样一台老旧的手机,在同样的系统下运行国内外两种 APP 有着截然不同的体验,过低的硬件性能让后者在处理大信息量的情况下出现掉帧,但从未停止响应,对系统资源的消耗近乎为 0;而前者不管在任何情况下都会发生严重的卡顿,甚至直接死机,对手机的电力也是灾难性的打击。

一台五年前的安卓手机,即使运行较新的安卓 6.0、从 Google Play 安装最新的国外APP依旧有着良好的体验,掉帧就和iPhone 4s 运行 iOS9 的反应迟缓一样,都是很合理的事情(又不是不能用)。但一旦安装了国内市场下载的国内应用,体验立刻天翻地覆——而很快也会有人站出来说,MSM8260 的性能过于低下,应以本时代主流的骁龙8系、骁龙6系体验为准——可是国外应用的流畅运行,又该当何讲?

任何时候,任何性能,只要系统还在流畅运行,就不应该在应用上卡死。本次实验的目的是揭露国内 APP 对安卓手机性能的影响,这里面有许多值得思考的东西,我们平时抱怨安卓卡顿的时候,到底是在抱怨什么?

安卓早已不输于 iOS,而国内对比国外的 APP 却一直一败涂地。

【额外实验】

实验组和对照组之间有一个意义不是那么重大但可能会有影响的变量:Google Play。如果对手机影响巨大的国内 APP 均通过谷歌审查的 Google PLay 下载,将会如何?由于部分国内 APP 并未上架 Google Play,因此实验数量减少到 12 个,未上架的 APP 为:百度贴吧、滴滴出行、手机京东、百度手机助手。和之前一样,安装应用后全部运行一遍登陆账号并重启,以下是待机 12 小时后的观测结果:

(可以看出,通过 Google 审核的国内应用相比野蛮生长的国内状况稍有好转)

在本次实验中,系统流畅度在最好的情况下几乎和国外 APP 一样不会产生严重影响,唤醒大幅度减少且续航大幅度延长,待机状态下手机不会明显发热,CPU 温度基本相当于室温,各个APP均能正常运行而不会导致手机卡死(但严重卡顿);然而,唤醒依旧集中在手机解锁时,因此亮屏有着两到三秒的延迟,显示桌面后至少有一分钟的卡死,无法进行任何操作,同时资源占用比起国外 APP 依旧多了不少。

看来即使是谷歌规范过后的国内 APP,依旧有着不容忽视的余威。

转载声明:本文已获授权转载,原文地址:https://zhuanlan.zhihu.com/p/26263557

其实,我在扯淡!

不止技术与职场,还有生活与远方

长按关注,听我扯淡

——

微博: @googdev

个人博客: http://stormzhang.com

安卓 卡顿 APP相关推荐

  1. 鸿蒙系统卡顿解决方法,鸿蒙比安卓性能提升60%,还解决了安卓卡顿的问题,谷歌压力山大...

    鸿蒙比安卓性能提升60%,还解决了安卓卡顿的问题,谷歌压力山大 手机是大家生活中的必备设备,并且大家对于手机的了解程度可以说是很深刻了,知道一部手机想要使用的时间久的关键就是处理器和内存.内存小的手机 ...

  2. android版本玩游戏卡怎么办,阴阳师安卓卡顿不流畅怎么办 玩阴阳师卡顿怎么解决...

    小伙伴们有没有发现安卓阴阳师越来越卡,这是什么原因?阴阳师安卓卡顿不流畅怎么办?阴阳师安卓玩为什么卡而iOS却不卡呢?今天小编就带来了阴阳师卡顿解决方法. 阴阳师卡顿解决方法 删除文件解决 删除思路: ...

  3. 苹果手机白屏_安卓卡顿苹果闪退,手机换代的动力原来是这些

    一般手机使用大约两年之后,就会明显感觉流畅度大不如从前.这种现象以前在安卓手机上比较常见,但其实是以流畅著称的苹果iPhone用久了也会体验变差,甚至出现了闪退.白屏等现象.想要搞懂其中的原因,我们不 ...

  4. 南泰就业联盟Android,统一推送联盟终于发力!国产厂商纷纷加入:将彻底解决安卓卡顿问题...

    [5月15日讯]相信大家都知道,由于Android系统和IOS系统之间的差别,系统卡顿也一直成为了Android系统最大的问题所在,由于Android系统缺少了统一推送机制,导致在Android系统上 ...

  5. android one手机流畅,打破安卓卡顿的偏见 魅族PRO 7竟然越用越流畅

    过往手机用户都有一个偏见,认为iOS系统就是比安卓系统流畅,但那是以前了,现在的安卓系统经过创新,越发的流畅起来,和iOS系统的差距越来越小.同时经过苹果的"降速门"事件后,不少i ...

  6. android8卡顿,看完就明白为什么安卓手机卡顿,这个技巧教你解决卡顿

    原标题:看完就明白为什么安卓手机卡顿,这个技巧教你解决卡顿 Android由源代码开放,所以安卓手机拥有更多的黑科技功能.很多安卓用户觉得手机卡顿,其实是没有好好利用这些神奇功能.下面笔者就为大家介绍 ...

  7. android 8.0卡顿,安卓8.0是真的快!但一直说安卓卡的人,却不是iPhone用户

    不知不觉,安卓的版本号也由小编刚接触的安卓4.4.2升级到了现在最新的安卓9,当然也有从安卓2.X就开始关注安卓的用户,但那时候小编还在使用诺基亚,所以没注意过.卡一直是安卓甩不掉的帽子,一直到现在, ...

  8. 一文带你读懂 Android 手机为何总是卡顿、死机?

    前言 在我们日常生活中,手机已经成为我们不可或缺的物品,曾经网上有一个搞笑的段子:"现在可以没有老婆,没有工作,但是不能没有手机": 虽说是搞笑段子,但足以看出手机在人民心中的地位 ...

  9. 才知道,OPPO手机还没用多久就卡顿,可能是因为这3个功能没关

    说起OPPO手机给大家的印象都是高价低配,但最近OPPO似乎走起了性价比的路线,Reno Ace.Realme X2 pro都代表着oppo走向了性价比的路线.虽然OPPO手机现在拥有了极高的性价比, ...

  10. 想让安卓app不再卡顿?看这篇文章就够了

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由likunhuang发表于云+社区专栏 实现背景 应用的使用流畅度,是衡量用户体验的重要标准之一.Android 由于机型配置和系统的 ...

最新文章

  1. 百度率先用Silverlight构建MUZONE歌手投票平台正式上线!
  2. 皮一皮:大义灭亲啊这是...
  3. c++枚举类型(二) c++11 枚举类
  4. ios常用数据库、完美无缺
  5. Connect 大会的主题 ---微软大法好
  6. 前端学习(3156):react-hello-react之脚手架文件_src
  7. nslookup查询结果详解
  8. python界面gui随机生成器_Python 实现的、带GUI界面的词云生成器
  9. 分离圆环图显示百分比_excel这个百分比图,你不一定会制作
  10. DimDate populate data
  11. firefox 火狐浏览器安装java插件
  12. 两台计算机如何打印机共享打印机,两台计算机如何共享一个打印机?
  13. Word怎么撤销到上一步操作
  14. OFC2020论文笔记 M1F.5 25.78-Gbit/s Burst-mode Receiver for 50G-EPON OLT
  15. antd修改Tooltip背景色
  16. 鸿蒙渊更新公告,《天下3》更新公告(版本2.0.777)
  17. vscode环境搭建:配置prettier
  18. SpringbootApi接口学习笔记
  19. java实现斗地主思路与算法
  20. msm8909平台JEITA配置和bat-V therm表合入

热门文章

  1. winform最小化后隐藏到右下角,单击或双击后恢复
  2. UNIX环境高级编程之第7章:进程环境
  3. Carbon Copy Cloner for Mac(磁盘克隆/同步/备份工具)直装版
  4. 只需简单的整理,让你的Mac 更安全、更智能
  5. 「Mac新手必备」解决 Mac 无法启动、开机的问题
  6. iOS开发之抓包工具的Charles的初步安装使用:一步一步教你学会抓包工具Charles的使用(下载破解+代理设置+证书配置)
  7. iOS开发之字符串(NSString)的截取的几种方法
  8. 易科软件中国:维系客户关系是企业的根本
  9. ***php调试总结
  10. 面向业务的企业元数据管理