新东西010--Android targetSdkVersion解析
来源:互联网 发布:net域名后缀排名高吗 编辑:程序博客网 时间:2024/04/25 14:25
Android Mainfest中有个叫做targetSdkVersion的字段,这个属性的含义是指:指定targetSdkVersion为具体的某个API Level,则表示调用接口时会调用target指明的版本API来编译应用(此处需要特别声明,编译应用的API跟真正手机系统的API不一样,编译只是指在该API下生成可运行包),比如,我运行一个targetSdkVersion为2.3的应用到一个4.0的机器上,那么系统仍旧会使用2.3的API来编译我的应用,但应用跑在4.0的机器上。这样看来实际上可以发现,targetSdkVersion好似没有什么作用?
实则不然,在不涉及接口改变的情况下,由于某些物理设备的扩展,同样的Apk需要适应不同的版本上的物理设备,从而具备某些特性,比如在android1.6以下,系统并未支持多套图片资源(hdpi/mdpi/ldpi),该版本下系统使用图片资源是通过Mainfest中的PRODUCT_LOCALES="hdpi"来指明的。
那么基于此,试想如果我们把一个应用的targetSdkVersion设置为<3(也就是1.6以下),然后在4.0的不同分辨率上跑我们的apk。然后我们的应用的主要内容就是做资源适配,也就是说,我们在不同的分辨率下的手机显示我们显示的资源文件是用的哪个?
这是个有意思的话题,targetSdkVersion就是这么简单,它是编译时期的API版本,如果我们用了某个具体版本的特性,一定要测试在minSdkVersion下是否也正常显示,否则将会出错(可能是java.lang.VerifyError)。
实际上,这个属性是一个可以删除的属性,你可以什么都不填,但你填上可以加速你在target版本下的代码运行(网上给的解释是当你的target跟手机系统版本一致时,系统会默认你做了兼容性测试,系统也就不会做兼容性测试,从而加速你的应用)。然而个人认为相较于它,最重要的是min和max这两个SDK版本值,最好测试所有的min到max之间的机器下你的APK是否正常。
- 新东西010--Android targetSdkVersion解析
- android:targetSdkVersion
- Android targetSdkVersion
- android的一些新东西
- android:targetSdkVersion问题。
- android开发关于targetSdkVersion
- android:targetSdkVersion相关
- Android targetSdkVersion 17 @JavascriptInterface
- Android targetSdkVersion详解
- Android targetSdkVersion 17 @JavascriptInterface
- android targetSdkVersion详解
- Android targetSdkVersion 17 @JavascriptInterface
- Android targetSdkVersion 原理
- Android targetSdkVersion 原理
- 理解android:targetSdkVersion
- Android targetSdkVersion 原理
- Android如何选择targetSDKVersion
- Android targetSdkVersion 原理
- Leetcode86: Missing Number
- [Poj1004]Financial Management
- android图片模糊的效果
- LP/QP/QCQP/SOCP/SDP/CCCP等系列优化方法的比较
- uva 11468 ac自动机+dp
- 新东西010--Android targetSdkVersion解析
- 【SQL优化】四月份培训的一个sql优化案例1
- linux安装vim
- GemFI安装中的'Error: can't find library -lpthread required by python'
- 黑马程序员---成长之路-----OC之基础篇创建对象
- first
- Halcon学习之2DMetrology
- 剑指offer—链表中环的入口结点
- 动态规划—0-1背包问题(最易理解的讲解)