关于android的sdk版本和分辨率
来源:互联网 发布:华润置地薪酬 知乎 编辑:程序博客网 时间:2024/06/06 00:16
有一篇文章较好地说明了该问题:http://community-china.developer.motorola.com/t5/MOTODEV-%E5%8D%9A%E5%AE%A2/%E6%82%A8%E7%9A%84-Android-%E5%BA%94%E7%94%A8%E5%85%B7%E6%9C%89%E5%85%BC%E5%AE%B9%E5%90%97/ba-p/1616
如果您还不熟悉兼容模式,我首先介绍一下相关背景。兼容模式的出现是为了扩展支持API级别4的多种屏幕密度。最初的Android设备设计成支持HVGA(480x320)模式下的中等分辨率(160dpi)。为这些设备设计的大多数应用都是在API级别3下编译。当显示屏扩展到包括低分辨率(120dpi)和高分辨率(240dpi)时,Android架构设计需要确保这些程序还能兼容160dpi分辨率的设备。当时的方案是定义一种兼容模式,使得那些程序能按比例放大或缩小,以此来仿真HVGA的160dpi分辨率。Android1.6开始,Android平台把160dpi作为正常的屏幕密度,并把运行在160dpi分辨率的设备分配了逻辑密度系数1.0. 120dpi分辨率的设备的逻辑密度系数为0.75,240dpi分辨率的设备的逻辑密度系数为1.5. 运行在兼容模式下的程序根据相应设备的系数来缩放。通过缩放比例来模拟正常的屏幕密度,这样应用在各种设备上都显示一致的效果,这就是所谓的在兼容模式下执行应用。下面是一篇介绍这一原理的MOTODEV 英文博客。
http://developer.android.com/guide/practices/screens-support-1.5.html#CompatMode.
通过下面两种方式之一可以设置兼容模式:
- 在 SDK 1.5下编译,也就是设置 minSdkVersion 为 3
- 在SDK 1.6 或更高版本下编译,也就是设置 minSdkVersion 和 targetSdkVersion 为 3
<uses-sdk android:minSdkVersion="3"
android:targetSdkVersion="3"/>
兼容模式在显示屏为VGA及其VGA衍生模式的设备上能按设计的方式工作,但当显示屏不属于这个范围时,它会使应用产生不完美的显示效果,如阴影方框效果。
按我的理解,当初设计兼容模式是为了可以使应用程序可以自动适应屏幕分辨率的变化,系统会自动缩放你的界面。但到后来,设备的分辨率越来越高,该方法虽然可以“兼容”,但效果并不好,毕竟系统的缩放只能在一定程度上解决该问题。如果程序员可以根据设备分辨率的大小,采用不同显示质量的图片资源,如分辨大的设备采用HD资源,分辨小的设备采用低分辨的图片,可以在不同的设备上获得显示最佳效果。
另外,转一下各Android SDK版本号的含义:
NDK也有多个版本:
真的很容易混淆啊,不同版本SDK和NDK搭配的应用,mini SDK和target NDK应该怎么设置呢?
- 关于android的sdk版本和分辨率
- 关于Android手机系统分辨率和版本…
- 关于如何在android 官网下载sdk和用sdk manager 更新sdk 的最新版本
- Android各版本对应的SDK和JDK版本
- 关于android游戏的分辨率
- 关于Android的分辨率支持
- 关于Android的分辨率支持
- Android一些关于分辨率和布局的设置
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- Android SDK版本和ADT版本
- uclinux系统简介
- Linux crontab 命令格式与详细例子 .
- 内核中的多播
- NSClassFromString
- STL学习之输入、输出迭代器
- 关于android的sdk版本和分辨率
- Excel和OpenFileDialog
- PHP图表类PHPlot 5.5.0发布
- 关于我今天遇到的ORA-01034错误
- android应用开发笔记---Activity生命周期二
- wpf button 样式模版
- word 封面 目录不要页码 从第三页正文开始要页码的 设置 方法
- POJ 1003 Hangover and 1004 Financial Management
- MySQL Development History