minSdkVersion和targetSdkVersion相信非常多人都不太理解。我在网上也看了很多关于这两者差别的文章,感觉说的都非常模糊。直到我在stackOverFlow看到Android Min SDK Version vs. Target SDK Version这篇文章后,我才最终弄清楚怎样去设置minSdkVersion和targetSdkVersion。如今我将分享给大家。

简言之,这篇文章的目的是为了区分minSDK和targetSDK,这两者相当于一个区间。你能够用到targetSDK中最新的API和最酷的新功能,但你又不得不向下兼容到minSDK,保证这个区间内的设备都能够正常的执行你的app。换句话说,你想使用Android刚刚推出的新特性。但这对于你的app又不是必须的。你就能够将targetSDK设置为你想使用新特性的SDK版本号,minSDK设置成低版本号保证全部人都能够使用你的app。

举一个样例:假如你想给你的app增加大量的手势操作(sdk 7才引入的),然而这些手势操作能够被Button啊或menu等取代,在这样的情况下,手势操作就是一个额外的加分功能,而不是一个必须的功能,因此你就须要把targetSDK设置为7,把minSDK设置为3(这是举个样例,如今没人还在用这么老的设备了)这样即使是使用老设备的用户也能够用你的app了。

然后你所要做的就是要在代码里推断版本号,假设是大于等于7的版本号中就使用手势操作,小于7的版本号中就使用button等取代,这样使用了新手机的用户就能够体验到你app中酷炫的新功能了。

另外一个样例:假设你想给你的项目增加Android 5.0的Material Design,有一些用户可能会升级到5.0而使用到你的新特性,而有一部分用户的手机硬件太老,不支持升级到5.0,除非他们换新手机。那么你就要为他们进行向下兼容,不至于损失这部分用户,这样你的targetSDK设置为21。minSDK能够设置为8

最新文章

  1. sql杀死进程
  2. 自己用WordPress搭了个站点
  3. 使用代码在windows-store中打开、搜索应用程序
  4. 将Eclipse项目导入Android Studio出现中文乱码的问题
  5. linux驱动系列之s3c2440内存布局
  6. 设置单选的listView或者gridview
  7. xcode 执行时模拟器不可选的问题
  8. css3选择器的比较(二) -- 包含字符串
  9. Linux内核源代码解析之TCP面向字节流
  10. Tomcat Java.OutOfMemoryError : PermGen Space异常
  11. 【HTML5】input元素type属性值
  12. Java基础——反射 reflect
  13. SSE图像算法优化系列十五:YUV/XYZ和RGB空间相互转化的极速实现(此后老板不用再担心算法转到其他空间通道的耗时了)。
  14. 2015 多校联赛 ——HDU5414()
  15. BZOJ 1171: 大sz的游戏
  16. 在linux系统安装tomcat后,bin文件下startup.sh启动不
  17. IDEA使用笔记(六)——设置项目的JDK配置
  18. JavaScript中几种 获取元素的方式
  19. 也许,这样理解HTTPS更容易
  20. Hive学习之路 (二)Hive安装

热门文章

  1. 如何查看一个Application是32位的还是64位的?
  2. 软件安全测试新武器 ——浅谈基于Dynamic Taint Propagation的测试技术
  3. API接口文档的撰写
  4. 6-10 SVM支持向量机1
  5. codeforces 724C
  6. 024--python re、logging、configparser、hashlib模块
  7. ubuntu下安装vmtool
  8. hihocoder 1331 扩展二进制数(递归)
  9. 51nod 1069【思维】
  10. CF767E ChangeFree【贪心/优先队列】By cellur925