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 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%。

OpenGL版本——2.0 



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

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



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

Android 的平台碎片化问题的更多相关文章

  1. 谷歌强制厂商升级KitKat 仍无法改善安卓碎片化

    据一份泄露的内部文档显示,谷歌计划推出新的Android版本及设备审批条例,限制硬件制造商推出Android 4.4 KitKat以下的旧版本硬件,来改变平台碎片化现象.如果厂商一意孤行,继续推出搭载 ...

  2. 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿

    腾讯优测是专业的android自动化测试平台,拥有上千款真机,彻底解决android碎片化问题! 这里我要说的不是闪光灯的硬件特征,也不是说底层驱动的原理,我只是跟大家聊一聊在项目中遇到的一些关于闪光 ...

  3. Android从开源到碎片化 开发者叛离的真相

    Android从诞生开始就受到热捧,并日益普及.它有别于以往的手机及移动终端操作系统,其独具的开源性.系统廉价性和提供给第三方大自由度的创新空间,以及不受硬件约束的优势,获得了广大开放社群的支持.但是 ...

  4. 一个使用openGL渲染的炫丽Android动画库二(碎片化曲面动画)

    续一个使用openGL渲染的炫丽Android动画库 MagicSurfaceView v1.1.0发布, 新增碎片化曲面动画 地址:https://github.com/gplibs/android ...

  5. Android学习笔记(四)之碎片化Fragment实现仿人人客户端的侧边栏

    其实一种好的UI布局,可以使用户感到更加的亲切与方便.最近非常流行的莫过于侧边栏了,其实我也做过很多侧边栏的应用,但是那些侧边栏的使用我 都不是很满意,现在重新整理,重新写了一个相对来说我比较满意的侧 ...

  6. 程序员MM的自白:磨人小妖精之安卓碎片化

    文/腾讯优测 章婉霞 除了crash问题,Android平台的碎片化越来越受到移动开发的关注,且不谈支持Android系统的移动设备早已过万款,屏幕.品牌以及传感器等方面的碎片化问题也困扰着开发者. ...

  7. Android 开发平台的演变史

    Android开发平台的发展(并不是很懂) Eclipse 首先是由IBM的一个项目小组花了两年时间开发完成的,当时主要解决IBM开发工具 Visual Age for Java 和 WebSpher ...

  8. 论文第5章:Android绘图平台的实现

    面向移动设备的矢量绘图平台设计与实现 Design and Implementation of Mobile Device-oriented Vector Drawing Platform 引用本论文 ...

  9. 碎片化时代:O2O服务成最大趋势

    从86年第一封电子E-Mail发出至今28个年头,中国互联网从单一点对点,点对多,多对多,如今又回归到点对点,从最基础的Mail.黄页应用到基于互动的Search.Blog以及基于满足人类基本需求的沟 ...

随机推荐

  1. Android视频应用去广告学习实践

    注意:本文仅仅供学习研究用途 第一步 素材搜集 腾讯视频应用:http://download.csdn.net/detail/itleaks/7991795      反汇编工具:           ...

  2. Hibernate学习之缓存机制

    转自:http://www.cnblogs.com/xiaoluo501395377/p/3377604.html 一.N+1问题 首先我们来探讨一下N+1的问题,我们先通过一个例子来看一下,什么是N ...

  3. html5储存篇(二)

    indexedDB   相对于html5 中提到 web SQL Database,w3c已经明确声明放弃对其的继续支持,开始支持新的客户端数据库 indexedDB ,indexedDB 是一种no ...

  4. javascript 作用域链

    最近想整理一下js执行代码的一些知识,如果有出错的地方还请指正. 执行环境(Execution Context) 所有的javascript代码都是在一个执行环境中被执行的.它只是一种机制,用来完成运 ...

  5. HDU 1498 50 years, 50 colors

    题目大意:给你一个 n*n 的矩阵,每个格子上对应着相应颜色的气球,每次你可以选择一行或一列的同种颜色的气球进行踩破,问你在K次这样的操作后,哪些颜色的气球是不可能被踩破完的. 题解:对于每一种颜色建 ...

  6. android sdk 下载缓慢的问题

    原文地址:http://www.oschina.net/question/265039_173445#tags_nav 1.在Android SDK Manager Setting 窗口设置 HTTP ...

  7. Flex 动画效果

    1.使用自带效果 在Flex里面不像在Flash里面随意制作动画了,Flex更趋向于应用程序,而不是动画制作了,所以没有了时间轴的概念.在Flex中使用动画效果,可以用Flex自带的Effect,或者 ...

  8. [置顶] perl脚本中defined,exists和delete关键字的用法和区别

    刚学习perl脚本的时候,喜欢频繁使用defined关键字判断一个hash中某个key是否存在,后来程序出了问题才去perl官方文档查看关于defined关键字的准确使用方法.因此,这里我把perl中 ...

  9. 操蛋的UITableView重用机制

    1,背景 你可能会遇见一下情况: 使用UITableView加载数据,比如你的每一个cell上面有一个UITextField,当你在第一个cell的UITextField中写下了内容,开始下滑UITa ...

  10. 深入分析MySQL ERROR 1045 (28000)

    这几天在MySQL新建用户后.出现訪问拒绝的问题,错误码为ERROR 1045(28000).在网上搜索了非常久.找到了非常多解决的方法,但非常遗憾的是这么多办法没有一个能解决该问题.尽管出现的错误码 ...