Android targetSdkVersion的作用

来源:互联网 发布:天刀你的账号数据异常 编辑:程序博客网 时间:2024/05/22 06:43

前言

今天把自己的测试机子升到7.0,在开发中运行了一个关于拍照的Demo,突然遇到颠覆了我的世界观的问题,7.0版本在运行代码时不做拍照权限处理,居然不闪退,再次试了下6.0依然是没有出现闪退,卧槽!!!,第一反应就是targetSdkVersion.......

解析

targetSdkVersion我在网上搜了一遍,网上讲的我觉得是一头雾水,经过总结,我认为很简单:

 

导入包版本>targetSdkVersion(24)

如导入25版本包也会变红导致没用如下

 

targetSdkVersion(24) > 手机的版本(6.0)

对应项目会运行手机版本内一切特性。譬如项目targetSdkVersion是24,那么项目里没做6.0权限管理,调用危险权限相机就会闪退(利大于弊)

 

手机的版本>targetSdkVersion 

项目运行效果为targetSdkVersion 版本。譬如项目targetSdkVersion是22,那么项目里没做6.0(23)权限处理,调用危险权限如相机不会出现闪退和提示,照常运行,项目特性运行到22版本。

 

手机的版本=targetSdkVersion 

如果目标设备的API版本正好等于此数值, 他会告诉Android平台:此程序在此版本已经经过充分测,没有问题。不必为此程序开启兼容性检查判断的工作了。 也就是说,如果targetSdkVersion与目标设备的API版本相同时,运行效率可能会高一些。 但是,这个设置仅仅是一个声明、一个通知,不会有太实质的作用

 

用较低的 minSdkVersion 来覆盖最大的人群,用最新的 SDK 设置 targetSdkVersion和 compile 来获得最好的外观和行为。强烈推荐targetSdkVersion升到最新版本。

以上是我想到的粗略的整理,有错误的可以纠正

阅读全文
0 0