Android 的平台碎片化问题


看到篇不错的文章,转载过来。

--------------------------------------

与iOS开发相比,Android开发平添了不小的工作量,因为iOS只要针对一个系统版本(最新版本)进行开发和升级优化就行,而Android不一样,目前市面上广泛使用的Android系统分支就高达8种,这分别对应8种API,设备更是高达数千款。


Android开发者不可能针对所有的API和设备都进行开发和优化,要有所取舍,重点选择市场份额最大的系统分支和设备,然后再针对其他款设备进行相应地优化。

Android系统选择——4.0(API级别15)

由于Android API一般是在之前的版本基础上添加了一些特性,因此Android应用程序向前兼容于新版的Android系统,而不一定向后兼容于低平台。比如,针对Android 4.0分支(API级别为15)开发的应用,可以运行于Android 4.0及最新的版本,而无法兼容于Android 2.3。

从Google发布的最新Android分支份额数据来看, 目前Android 4.1分支位居首位,占据35.5%,加上其他版本,4.x分支总份额已经高达78.6%。

Android 的平台碎片化问题_第1张图片


之所以推荐开发者重点针对Android 4.0开发应用,是应为4.1与4.0版本相比,并没有添加重要的新特性,而且选择4.0,应用程序可以在使用4.x新特性的基础上,覆盖尽可能多的设备。

再来看其他Android分支,2.3分支如今仍占据20.0%,而2.2和3.x分支即将消失。移动领域发展如此之快,不久的将来,Android 2.3这个里程碑式的版本也将成为历史。

屏幕分辨率——普通尺寸、高精度分辨率

Android的开放性造就了大量不同的设备,这些设备的屏幕尺寸和分辨率各种各样。开发者也应该重点针对一种屏幕尺寸和分辨率来开发,然后再针对其他设备进行测试优化。



Google也公布了最新的Android设备屏幕数据, 目前正常尺寸(4寸左右)的设备份额最多,占据78.8%,而在屏幕分辨率中,hdpi(高精度分辨率)占据最多,占据34.2%。

Android 的平台碎片化问题_第2张图片

OpenGL版本——2.0

如果开发Android游戏或3D图形应用,那就需要关注OpenGL的版本。 目前OpenGL ES 2.0版本使用最广泛,共占据92.3%



可以使用 <uses-feature> 元素的android:glEsVersion属性来定义应用所需要的OpenGL版本,也可以使用 <supports-gl-texture> 元素来声明应用使用的GL压缩格式。

希望以上这些数据能够为你开发Android应用提供一些参考。

更多相关文章

  1. Android设备扫描机制详解
  2. Android各版本市占率:果冻豆Android4.1遥遥领先
  3. Blog-06-《一周快速上手Kotlin For Android》-之When分支
  4. 在Android设备上运行纯java代码
  5. Android Studio检测不到新版本问题解决
  6. 如何保证Android设备的安全性
  7. PC端连接Android设备进行adb调试

随机推荐

  1. Eclipse开发Android应用程序入门
  2. android的Environment类
  3. android浮动搜索框
  4. Android(安卓)源码结构【搜集】
  5. 调用C++底层 Thread & Mutex 的注意事项
  6. Android(安卓)之 事件
  7. Android(安卓)Makefile中 如何识别 TARGE
  8. Android(安卓)Toolchain与Bionic Libc
  9. Android(安卓)加速度传感器(G-Sensor)
  10. android sdk manager 无法下载