微信号:infoqchina

介绍:有内容的技术社区媒体

利用Google Play Services解决Android碎片问题

2013-09-12 18:09 InfoQ

对于开发人员而言,开发能够在大量不同的设备上运行的移动应用程序,最重要的时间和成本因素是Android生态系统里的碎片。 OpenSignal的调查报告显示,碎片可以分成两类:


硬件碎片:跟踪结果显示,在2013年,有将近12000种不同的Android设备带来了各种各样的屏幕尺寸和硬件性能。


软件碎片:当前,使用中的Android操作系统版本有8个。例如,于2011年初发布的API 2.3.3到2.3.7在所跟踪的设备中仍然占有30%的份额。


相反地,不同iOS设备的数量非常小,而且屏幕尺寸的种类有限。此外,在所跟踪设备中95%都运行着最新的iOS 6。


正如Ron Amadeo发表在Ars Technica上的博文所述,Google现在似乎正在解决软件碎片问题。


此文认为,操作系统新版本推出背后的过程是出现Android操作系统版本碎片的最主要原因:Android新版本完成后,会交付给OEMs,然后OEMs会将其特有的UI移植到新版本中。之后,再将其推向运营商,并最终通过无线网络交付给终端用户。通常,这一过程需要几个月的时间,而且由于需要做大量工作,所以那些不太受欢迎的设备可能根本得不到更新。


因为Android更新推出缓慢,Google越来越多地使用一个名为Google Play Services的应用程序在设备上安装新功能:


Play Services具有系统级功能,但是可更新。它是Google应用程序包的一部分,因此并不开源。OEMs无法对其进行修改,所以它完全在Google的控制之下。


Play Services主要是作为普通的应用程序和已安装的Android OS之间的“垫片”。现在,Play Services可以处理Google Maps API、Google账户同步、远程擦除、推送消息、Play Games后台及许多其它任务。


在这一概念下,Google可以在宣布新功能后几天内将其推出。此外,Google继续从操作系统提取Mail、Maps或Calendar等应用程序,并把它们转移到Play Store而且使终端用户可以修改。


虽然硬件层面的碎片问题依然存在,但这对软件碎片问题而言将是个极大的改进。当更新Android系统的中心部分不会牵涉OEMs和运营商时,对于最近的API,开发人员在构建应用程序的过程中可以在更广泛的设备基础上获得更多的支持。


***********************************

本文来自InfoQ微信公众账号:infoqchina

1、回复“今日新闻”,查看今天更新的新闻;

2、回复“今日英文”,查看今天英文站的更新;

3、回复“文章 +关键词”,搜索关键词相关内容;

4、回复“QCon”,了解QCon大会相关信息;

5、回复“活动”,了解最近InfoQ组织的线下沙龙;

6、回复“架构师”,获取《架构师》下载地址;

7、回复“投稿”,了解投稿和加入编辑团队的流程。

***********************************

 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 Web开发者色彩搭配快速指南 文章等太久?大家来吐槽! IIS负载均衡-Application Request Route详解第六篇:使用失败请求跟踪规则来诊断ARR Rails处理请求超时 html5+css3技术制作酷炫网页效果