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% | 8.1% | |||||
普通 | 0.2% | 13.6% | 33.7% | 19.9% | 11.9% | 79.3% | |
大 | 0.7% | 4.3% | 1.5% | 0.6% | 0.6% | 7.7% | |
超大 | 0.1% | 4.3% | 0.3% | 0.2% | 4.9% | ||
總計 | 9.1% | 22.2% | 1.5% | 34.6% | 20.7% | 11.9% |
資料採集自2014年3月3日前一週。佔有率在0.1%以下的版本沒有顯示。
OpenGL版本
Google列出了支援某個版本的OpenGL ES的裝置數量。注意,OpenGL ES是向下相容的。支援某個版本的OpenGLES意味著也同時支援更低的版本。
可以使用<uses-feature>
元素的android:glEsVersion
屬性來定義應用所需要的OpenGL版本,也可以使用<supports-gl-texture>
元素來宣告應用使用的GL壓縮格式。
OpenGL ES 版本 | 分佈 |
---|---|
1.1 | 0.1% |
2.0 | 91.1% |
3.0 | 8.8% |
從這些資料來看,絕大部分裝置已經支援2.0,因此如無特殊原因,可以不過多考慮相容只支援1.1的裝置。
編譯 SegmentFault