Web开发需要做各种浏览器兼容测试,移动APP开发需要做各种设备兼容性测试。兼容性测试,哪里都逃不开。

对各种设备的兼容测试,主要集中在2点:

  1. 不同Android OS版本的测试,如Android 2.3, Android 4.1
  2. 不同屏幕密度的测试,如320*240(QVGA),480*320(HVGA),800*480(WVGA)

Android OS各版本市场占有

按照Android OS版本,目前的市场占用份额如下表:

Android手机屏幕各尺寸、密度市场占有

按照屏幕尺寸和密度,目前的市场占用份额如下表:

AVD 提供的模拟配置

对此,Android官方给出了较好的测试方案:

使用Android SDK提供的模拟器(AVD),结合不同的配置,在不购买实际手机设备的情况下,即可完成较全的设备覆盖测试。

详见: 《How to Test Your Application on Multiple Screens》

目前AVD模拟器能够提供的屏幕配置如下表,能满足目前市面上大多数机器的基本测试:

这里的方案是比较理想的,能满足初期的测试需求。但实际上,由于各厂商对Android系统定制的差异,对流行度高的手机,仍然需要通过实际的设备来完整测试。

对于其他硬件不同配置(如CPU、GPU等)下的测试,目前只能使用市场占用率较高的实体机。

一些基本概念

屏幕尺寸(Screen size):按照屏幕对角线衡量的物理尺寸。
Android将所有尺寸分类为四种:

  • small
  • normal
  • large
  • extra large

屏幕密度(Screen density):一个物理区域内像素的个数,通常被称为DPI(Dots Per Inch)。在同样的一个区域里,密度低的屏幕拥有的像素会比中、高密度更少。
为了简单,Android将所有屏幕分为四等密度:

  • low (ldpi)
  • medium (mdpi)
  • high (hdpi)
  • extra high (xhdpi)

屏幕方向(Orientation):相对用户的视角,当前屏幕的方向,横屏(landscape)或竖屏(portrait)。
需要注意的是,除了初始时需要对不同方向,做不同的展示,用户还可以随时旋转设备来实时改变屏幕方向。

分辨率(Resolution):屏幕上像素的总数量。不能针对分辨率来做多种类型屏幕的适配,而应该考虑屏幕尺寸和密度即可。

密度无关像素(Density-independent pixel):用来定义UI布局的虚拟像素单位,和屏幕密度无关,简称为dp。
1dp,相当于屏幕密度为160的物理屏幕上的一个点。运行时,系统会根据当前屏幕密度进行对应的缩放。
像素和dp的转换公式:

px = dp * (dpi / 160)

应当使用dp单位来描述UI布局,以使在不同密度的屏幕上都能取得合适的显示效果。
支持范围:从Android 1.6开始(在此之前,只支持HVGA屏幕),Android对移动设备的多种屏幕配置提供了显示适配,创造了良好的用户体验。

Android约定的四种屏幕尺寸和屏幕密度的依据,是按照第一款Android移动设备T-Mobile G1的HVGA屏幕来划分的。

详见: 《Supporting Multiple Screens》

更多相关文章

  1. 屏幕适配那些事(02)Android逻辑像素刨根问底
  2. Android自动化测试之Monkeyrunner从零开始
  3. Android事件系统(1)
  4. Android的“隐藏暗码”
  5. 批处理脚本实现android应用程序自动化测试
  6. android 组件动画(一)——球的进入效果
  7. Android(安卓)中使用OpenGL ES进行2D开发(绘制第一个三角形番外篇
  8. android 的布局单位 dip dp sp px总结
  9. Android中的各种单位

随机推荐

  1. Android(安卓)studio gradle 生成字段属
  2. Android(安卓)制作 升级包
  3. 网络时间同步
  4. android 算定义布局xml
  5. Android默认时区、语言设置
  6. 【翻译】(1)何为Android?(2012-06-30废弃)
  7. Android实现圆形头像-使用自定义控件
  8. Android组件学习笔记(连接互联网)
  9. 启动android默认浏览器
  10. android中取消ActionBar的两种方式