Android版本和兼容情况

1.compileSdkVersion, targetSdkVersion, minSdkVersion, buildToolsVersion

minSdkVersion :很好理解,就是你的程序支持在哪个最低版本的额Android上跑
buildToolsVersion:使用哪个版本的build工具,一般build版本会随着android版本的发布而发布,所以一般选取最新的sdk版本就行
targetSdkVersion :目标SDK,一般在这个sdk中的android手机最稳定,可以选择目前使用最多的手机SDK
compileSdkVersion:这是最重要的,也是最难选择的,选择什么版本就需要用什么版本的sdk源码去编译,另外support的版本要和这个版本一致,不然会出错。

2、support包

程序员往往有这种困扰,在开发一个android程序时,是使用旧版本的API还是新版本的额API,如果使用旧版本,新版本上的新特性和性能优化就用不到了,多浪费。如果使用新版本API,那么旧机器怎么办?只能写两套代码,每次请求的时候先判断下系统版本,新版本则运行新API,旧版本则运行旧API,很累有木有。
这个时候就是Support包出场的时候了,在一些关键更新API中,support包中都会扩展这些API使得它们在低版本version也能使用,即避免写两套代码,又能够最大化的利用起新API的性能特点。就是苦了Google的程序员了,不过为了让更多的开发迁移到新版本API,也是值得的。
support包有v4,v7,v13,推出这些包的作用是让开发者能够在低版本上运行高版本的一些特性,并不是说低版本加上这些包就是高版本的系统了,这些包只是在一些低版本的系统中扩展一些高版本拥有的类库,让这些类库能够顺利同低版本的API进行转换,从而能够顺利运行在低版本上面,避免了程序员的困扰。
V4包是兼容android1.6及之后的包,v7是兼容andorid 2.1及之后的包,V13是兼容Android 3.2及之后的包,V7包里面是含有V4包的,V13是为了平板开发,基本已经废弃。

综上所述:一般在开发应用时采用V7包,增加兼容性。比如:

compile 'com.android.support:appcompat-v7:22.+'
compile 'com.android.support:recyclerview-v7:22.+'

3、android版本

android有三种版本信息,一种是发布给公众的,即android2.2,android4.4等,一种是代号,比如 Android Cupcake,Sandwich,Jelly Bean等等,一种是开发版本号,如 15,16,23,25等等,这虽然是三种信息,但是基本是一一对应的,对于开发者来说只需要关注开发版本号就行,大概知道版本号的市场占有率,下面是google的官方数据:
各个版本的详细信息

Version Codename API Distribution
2.2 Froyo 8 0.1%
2.3.3 -2.3.7 Gingerbread 10 1.7%
4.0.3 -4.0.4 Ice Cream Sandwich 15 1.6%
4.1.x Jelly Bean 16 6.0%
4.2.x Jelly Bean 17 8.3%
4.3 Jelly Bean 18 2.4%
4.4 KitKat 19 29.2%
5.0 Lollipop 21 14.1%
5.1 Lollipop 22 21.4%
6.0 Marshmallow 23 15.2%

鉴于Google在android4.0中进行了大量的更新,因此如果对市场客户不是非常苛刻的情况下,选择minsdk为15或者以上将会增加一些系统性能。如果不能放弃这1.8%的客户,那么可以考虑兼容。

4、Android屏幕尺寸和密度
同样贴上Google官方图

Mdpi Hdpi Xhdpi xxhdpi Total
Small 1.8% 1.8%
Normal 3.8% 40% 27.3% 15.5% 86.7%
Large 4.3% 0.5% 0.5% 7.6%
XLarge 2.9% 0.3% 0.7% 3.9%
Total 11.0% 40.8% 28.5% 15.5% -

(此处略去了ldpi和tvdpi)
上图可以看到,我们其实只需要存放4中大小的图片在本地就行,虽然还有一种ldpi,但是比例相当少,只有2%,为了这2%另外存放一张图不合算,还不如让它们直接加载mdpi。这四种是mdpi,hdpi,xhdpi,xxhdpi,屏幕尺寸在small的也不需要考虑了,我想以后android厂商也几乎不会发屏幕小于4寸的手机了。

图片多大,放哪一个dpi文件夹,只和屏幕密度有关,和屏幕分辨率没关系。但是一般的1080p就能上xxdpi,720p就能上xdpi,480p就能上hdpi,480p以下就使用mdpi

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容