Android糟糕体验背后:Google的愿景和商业利益的深渊

android-drunk

当我们拿起一台安装了各式各样国产应用的Android手机时,我们很可能会有这样的感觉:它经常卡顿、频繁地弹出各类提醒通知、电池也不怎么受用……久而久之,Android或手机品牌就会留给用户“不好用”的印象。但Android的设备体验真的就只能是这样子吗?

在今天,我们使用一部智能手机主要是“消费”其上的各类应用。所以当谈论设备体验时,从应用这个层面上看,我们也就可以将其划分为“应用内体验”和“应用外体验”。 相对来说,“应用内的体验”和开发商的关系非常大,用户也很容易感知到好坏并追踪到“责任人”,所以一般来说开发者对这一项也是比较重视。

但反观“应用外体验”,虽然它才是真正能给用户带来对Android设备体验整体感知的一方,但却非常模糊。因为“应用外体验”如何至少牵涉到Android系统背后的设计原理、应用开发商和硬件厂商这三个方面。所以当它表现不佳时,用户一时半会并不那么容易能找到背后的“罪魁祸首”,而且更多少时候用户更倾向于把“罪名”归在Android系统和硬件厂商身上,但其实呢,它和应用开发商同样有着莫大的关系。

Android应用“绿色守护”的开发者Oasis Feng最近在接受PingWest采访时就详细解读了Android系统背后的设计原理、应用开发商和Android设备体验之间错综复杂的关系。

对Android系统稍有了解的用户应该都听说过Android系统支持多任务并且会在机身运存不足时主动结束一些后台服务以保证前台服务的正常运行。这样看上去好像Android系统可以很好地解决软件对硬件资源消耗的问题,但事实情况是,Android的进程管理机制仅在开发商们都尊重公平游戏的规则之下才有效,一旦有人想突破游戏规则,那么将不可避免地引发恶意竞争进而带来设备体验上的灾难。

比如,微信在后台运行时,会在其推送服务之外刻意保留一个特殊的服务,让自己的进程存活的更久一些,以加速下次进入的速度。站在微信自己的角度而言,它当然可以说是提升了用户体验(也就是应用内体验)。但当大量的应用都启动不必要的后台服务时,就会加速用户手机内存的耗尽。实际上最终仍然伤害了用户的设备体验(应用外体验),而且是恶性循环的。这样的例子并不只是微信,像百度系的若干应用用户启用一个就会唤醒其他的多个后台服务,虽然这种行为是Android系统所允许的但这并不是设计之初的本意,百度系应用这样的行为对于低端Android设备来说绝对是灾难。

此外,Android系统在杀掉一个进程服务时不但不会禁止这个服务再次在后台自动唤醒还会主动重启它。从这也可以看出Google真的是假设所有的开发者都是在公平地参与游戏、放在后台的进程也都是必须的,所以当Android在系统资源不足杀掉某个进程后还会想办法在资源足够时重启它。而事实情况又无法如Google所愿——当内存吃紧时,CPU被无谓的消耗在“杀掉服务→重启服务→内存不足→再杀掉服务”的无尽循环中,因此也就造成了整机性能和电量的大幅度衰减。

所以Oasis Feng认为,Android系统本身的机制设计在平台的角度和绝对公平游戏的情况下,是相对合理的,但是却严重忽略了每个App本能的利己倾向,结果造成了低端设备上的严重问题。从Android 4.4开始,Google已经意识到这一点,但站在平台的角度所能采取的措施相对有限,这也是为什么Oasis Feng会选择开发绿色守护的原因——其最重要功能就是让Android设备同iPhone一样,让那些在后台偷偷运行的应用休眠。

除了绿色守护之外,Oasis Feng还参与了国内某购物应用的开发。作为一个资深开发者,他对Android开发者对设备体验的重视程度比较悲观。他认为,由于Android本身的设计机制给“贪婪”敞开了一扇大门、绕过电量监测工具的手法多种多样,加上用户对设备体验的认知模糊,不少大公司都不愿意牺牲商业利益去保护设备体验。Oasis Feng曾经和Facebook团队的核心开发人员Frank Du细致探讨过让自己团队的产品能更尊重“游戏规则”,但这些经历让他看到的更多是开发者个体的积极意愿与企业目标间难以调和的矛盾。

所以,如果想让这些开发商能自觉地尊重Android设备体验,从目前看来只能是努力让更多用户了解到设备体验腐蚀的过程和源头,从而依靠大范围的民意来约束开发厂商的行为。从绿色守护的后台数据看,目前国内被用户“绿色化”最多的十个Android应用依次是:微信、UC浏览器、手机QQ、豌豆荚、新浪微博、百度地图、快播、淘宝、有道词典和支付宝。

订阅更多文章