文档章节

Android targetSdkVersion的作用

男孩很懒
 男孩很懒
发布于 2017/05/05 17:36
字数 468
阅读 68
收藏 0

前言

今天把自己的测试机子升到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
博文 5
码字总数 2911
作品 0
珠海
私信 提问
eclipse和android源码编译应用效果有差异

一般来说,eclipse只是IDE开发工具,它虽然能编译apk,但是大多数开发情况下,都会要求必须在源码里编译通过,达到工程化,而不是单单的demo。 问题: 这次悲催而又诡异的遇到了这么个问题:...

blackylin
2013/06/27
0
2
去除AndroidManifest.xml uses-sdk警告方法

我们经常在开发app的时候在AndroidManifest.xml发现这个警告warining:"Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this ver......

红豆与绿豆
2015/11/16
0
0
应用迁移至 Android P 操作指南

Android P 已经按照既定的计划进入到了 Beta 2 版本,且终版 API 也已经发布。相信大家已经对 Android P 所带来的行为变化以及新功能有了足够的了解。本文将详细说明如何将您的应用迁移至 An...

谷歌开发者
06/22
0
0
应用市场出新规,国内千款应用TargetSdkVersion调查分析

近期,谷歌针对Google Play上架应用发布强制性适配Android 8.0公告,要求自2018 年 8 月 1 日起,所有向 Google Play 首次提交的新应用都必须基于 Android 8.0 (API 等级 26) 完成开发;11 ...

华为终端开放实验室
08/07
0
0
Android targetSdkVersion 17 @JavascriptInterface

targetSdkVersion 是设置希望的SDK版本,如果设置了此属性,那么在程序执行时,如果目标设备的API版本正好等于此数值,他会告诉Android平台:此程序在此版本已经经过充分测,没有问题。不必为...

嘻哈开发者
2014/08/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
34分钟前
1
0
聊聊storm trident batch的分流与聚合

序 本文主要研究一下storm trident batch的分流与聚合 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout) .p......

go4it
昨天
3
0
3分钟总结Mybatis别名

1.系统内置别名: 把类型全小写(resultType/paramType) 2.给某个类起别名 2.1 alias=”自定义” <typeAliases> <typeAlias type="com.bjsxt.pojo.People" alias="peo"/> </typeAli......

KingFightingAn
昨天
2
0
JAVA设计模式之模板方法模式和建造者模式

一、前期回顾 上一篇《Java 设计模式之工厂方法模式与抽象工厂模式》介绍了三种工厂模式,分别是工厂方法模式,简单工厂方法模式,抽象工厂模式,文中详细根据实际场景介绍了三种模式的定义,...

木木匠
昨天
8
0
C中的宏的使用(宏嵌套/宏展开/可变参数宏)

基本原则: 在展开当前宏函数时,如果形参有#或##则不进行宏参数的展开,否则先展开宏参数,再展开当前宏。 #是在定义两边加上双引号 #define _TOSTR(s) #sprintf(_TOSTR(test ABC))pr...

SamXIAO
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部