Android平台的碎片化問題被開發者诟病已久。最近Google公布了一些Android裝置的統計資訊,開發者可以根據市場占有率決定不同裝置開發和優化需要投入的經曆。特别是人力較少的小公司和個人開發者,更需要集中精力,有所取舍。
平台版本
版本 | 代碼名 | API | 分布 |
2.2 | Froyo | 8 | 1.2% |
2.3.3 - 2.3.7 | Gingerbread | 10 | 19.0% |
3.2 | Honeycomb | 13 | 0.1% |
4.0.3 - 4.0.4 | Ice Cream Sandwich | 15 | 15.2% |
4.1.x | Jelly Bean | 16 | 35.3% |
4.2.x | 17 | 17.1% | |
4.3 | 18 | 9.6% | |
4.4 | KitKat | 19 | 2.5% |
資料采集自2014年3月3日前一周。占有率在0.1%以下的版本沒有顯示。
注意:由于資料采自新版的Google Play Store應用,該應用隻支援Android 2.2以上版本,是以舊版本沒有包括。不過,根據2013年8月的統計,Android 2.2所占的比例不到1%。
從Google釋出的資料來看,目前Android 4.1分支位居首位,占據35.5%,加上其他版本,4.x分支總份額已經高達78.6%。
是以,如果精力有限,開發者可以針對Android 4.0 API開發應用,這樣,應用程式可以在使用4.x新特性的基礎上,覆寫盡可能多的裝置。
螢幕分辨率
Google根據螢幕尺寸、像素密度,分成了幾個大類:
ldpi | mdpi | tvdpi | hdpi | xhdpi | xxhdpi | 總計 |
小 | 8.1% | |||||
普通 | 0.2% | 13.6% | 33.7% | 19.9% | 11.9% | 79.3% |
大 | 0.7% | 4.3% | 1.5% | 0.6% | 7.7% | |
超大 | 0.3% | 4.9% | ||||
9.1% | 22.2% | 34.6% | 20.7% |
OpenGL版本
Google列出了支援某個版本的OpenGL ES的裝置數量。注意,OpenGL ES是向下相容的。支援某個版本的OpenGLES意味着也同時支援更低的版本。
可以使用
<uses-feature>
元素的
android:glEsVersion
屬性來定義應用所需要的OpenGL版本,也可以使用
<supports-gl-texture>
元素來聲明應用使用的GL壓縮格式。
OpenGL ES 版本 | |
1.1 | |
2.0 | 91.1% |
3.0 | 8.8% |
從這些資料來看,絕大部分裝置已經支援2.0,是以如無特殊原因,可以不過多考慮相容隻支援1.1的裝置。