做Android开发选择手机时,主要从原生性、版本号、屏幕适配三方面考虑。
1. 原生性
原生Android系统是指Google公司发布,没有经过第三方修改的安卓系统。由于Android是开源系统,所以,有的厂商在引入时,会修改其框架层的源码以适应当地的市场或者定制自己的专属功能。显然,经第三方修改过的安卓系统,不再保证原生安卓的普适性,所以在开发时,可能会出现一些未知的BUG。因而,有条件的情况下,建议尽量选择谷歌Nexus系列的手机(设备)进行初期版本的开发测试,以保证最大的兼容性。
2. 版本号
Android版本号是不同时期发布的的Android系统版本编号,对用户而言,它限制了Android的功能特性,对开发者而言,它限制了Android编程接口的种类和数量。由于安卓版本号众多(截止2016年9月,最新的Android正式版本是7.0),各地区的迭代周期不一,导致搭载不同Android版本的设备分布很不均匀,这就是安卓版本的“碎片化”。
不过,Android各版本之间并不是完全独立,而是向后兼容的,也就是说,保证低版本的特性在高版本上也能实现,但是不保证高版本的特性可以在低版本上展示。因而,开发者选择的测试设备搭载的Android版本越低,其开发的应用兼容性就越强。可是实际开发中,不能单一考虑兼容性,还要考虑市场因素。兼容太低版本的设备会极大地限制Android新特性的体现,降低趣味性与互动性,而且还会增加维护成本。
如下图是谷歌对Android版本号的分布统计图(截止到2016年5月),可以看到,低于Android 4.0版本号的设备市场占有率已经少于3%,所以,建议Android开发者在选择手机时最低兼容到4.0就可以了。
3. 屏幕适配
屏幕适配是指保证同一个安卓应用在不同的安卓设备上视觉效果统一。安卓设备除了有“版本号碎片”,还有“屏幕碎片”。由于技术和市场等方面的因素,不同厂家在发布安卓设备时,采用了不同的屏幕尺寸与显示密度,这就造成了“屏幕碎片”。屏幕碎片对开发的最大影响是UI显示。比如同样一个APP界面,在不同的设备上可能会呈现出拉伸或者压缩的视觉效果,违背设计者的初衷。所以,为了保证最理想的屏幕适配效果,除了在开发时用兼容性尺寸(比如用单位dp代替px)约束视图,还要选择一款屏幕特性应用最广的设备来做实时预览。
如下图是谷歌对Android设备屏幕尺寸和显示密度的分布统计图(截止到2016年5月),可以看到,搭载Normal尺寸屏幕和hdpi显示密度(240dpi)的设备分布最广。所以,建议Android开发者在选择手机时也要尽量匹配这两个指标。
最后,在Android开发中,初期的测试建议在Android模拟器上完成,它可以提供比手机等真实设备更广泛的特性定制。在产品逐渐成熟并计划投放到市场时,再参考以上因素,选择有代表性的手机或其它安卓设备进行调试。