Android 系统已经分化成多种不同的定制版本,制造厂商的不同手机使用的硬件千差万别。差异化带来良好的用户体验的同时,也给开发者带来的适配的问题。于是每个开发团队都需要面临选择测试机列表的问题。我基于如下的考量选取测试机:
系统版本
芯片
屏幕
品牌
数据来源
友盟指数:友盟是国内最大的 app 数据统计平台,从数据统计中可以得知设备的信息,可以较为准确的代表国内数据。
Android Developer Dashboard:Google 从官方的 Google Play Store 访问设备中进行统计,可以较为准确的代表国外的数据。
下面用数据说话。
Android系统版本
这个维度关系到开发者能够使用的 API 和特性,所以首先被关注到:
Umeng-Index
友盟指数:系统版本占比_2015-09-14
Umeng-Index
友盟指数:系统版本占比_2016-04-15
这里需要吐槽一下友盟的新版设计,竟然将 Android 6.0 和 2.x 统一归入了“其他”,使得表意不明。
Android-Developer-Dashboard
Android Developer Dashboard:系统版本占比_2015-09-14
Android Developer Dashboard:系统版本占比_2016-04-15
可以看出,Android 2.2(API8) 只占据了极少的份额,app 开发可以不考虑了。2.3 的份额也较少,出货日期大约是2010-2011(ref),机器硬件配置较差,加上国产手机市场竞争激烈,已经接近被更换。我们可以看到 4.x 是主流,5.0 是趋势,6.0 开始占据一定份额。
芯片
Android 设备,主流是 ARM 构架,也有部分是 X86 构架。2003年9月发布的 iPhone5s 使用了64位的处理器A7处理器,其后要求 AppStore 上架的 app 需支持64位构架。安卓厂商也迅速赶上,纷纷开始将64位处理器当做未来的方向。程序中使用到 native 库的需要特别关注这个指标,需要 so 库支持对应的构架。
屏幕
屏幕分辨率和比例上,Android 的机器也呈现了分化的趋势。
友盟指数:设备分辨率占比_2016-04-15
可以看出1280x720是主流,1920x1080是趋势,800x480还占有相当的份额。
品牌
这里考虑品牌,主要是要考虑定制 ROM,厂商为了自己的利益或者理念,会在原生的 Android 系统上定制不同的外观和特性。品牌知名度众说纷纭,手机厂商号称自己每年卖出的手机,足够国人每人换好几部的。总的来讲,影响力较大的 ROM 有 MIUI、三星 TouchWiz、华为 EMUI 等。
友盟指数:设备品牌占比_2016-04-15
结论
基于以上数据和考虑,我最后决定采购的五款测试机和理由如下:
最后选择_2016-04-15
选6款,是考虑成本。后期根据统计数据,还会购买新的设备。这篇文章,会考虑半年更新一次,下次更新的时候是2016-09-18!
另外
可以使用 Genymotion 模拟器和 Android Studio 提供的新版模拟器进行一定的补充。
更新2016-01-06:
近日有较多用户反映在 OPPO 的 ColorOS ROM 上出现了较多的崩溃。同时我查阅了友盟的数据,OPPO 是的市场占有率仅次于 VIVO 的第五大手机品牌,不可小视。于是增补了一部性价比较高的 A51 作为测试机。选取测试机,市场占有率排名也很重要。
更新2015-11-29:
华为畅玩 4c 的确是64 bit 的 cpu,但是所使用的 Android 系统是32 bit 的,所以这个机器的运行模式是32 bit,没有达到预期目的。曾经咨询过华为客服,也没能给出个原因和解决方案来。看来64 bit 对其只是一个噱头。