Android平臺的碎片化問題被開發者詬病已久。最近Google公佈了一些Android設備的統計信息,開發者能夠根據市場佔有率決定不一樣設備開發和優化須要投入的經歷。特別是人力較少的小公司和我的開發者,更須要集中精力,有所取捨。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%如下的版本沒有顯示。segmentfault
注意:因爲數據採自新版的Google Play Store應用,該應用只支持Android 2.2以上版本,因此舊版本沒有包括。不過,根據2013年8月的統計,Android 2.2所佔的比例不到1%。優化
從Google發佈的數據來看,目前Android 4.1分支位居首位,佔據35.5%,加上其餘版本,4.x分支總份額已經高達78.6%。spa
所以,若是精力有限,開發者能夠針對Android 4.0 API開發應用,這樣,應用程序能夠在使用4.x新特性的基礎上,覆蓋儘量多的設備。code
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%如下的版本沒有顯示。get
Google列出了支持某個版本的OpenGL ES的設備數量。注意,OpenGL ES是向下兼容的。支持某個版本的OpenGLES意味着也同時支持更低的版本。it
能夠使用<uses-feature>
元素的android:glEsVersion
屬性來定義應用所須要的OpenGL版本,也能夠使用<supports-gl-texture>
元素來聲明應用使用的GL壓縮格式。io
OpenGL ES 版本 | 分佈 |
---|---|
1.1 | 0.1% |
2.0 | 91.1% |
3.0 | 8.8% |
從這些數據來看,絕大部分設備已經支持2.0,所以如無特殊緣由,能夠不過多考慮兼容只支持1.1的設備。編譯
編譯 SegmentFault