targetSdkVersion 相关了解
来源:互联网 发布:ubuntu防火墙关闭 编辑:程序博客网 时间:2024/04/30 03:46
targetSdkVersion 有什么作用?
如果当前手机版本与 设置的版本一致,那么兼容性判断 检查 就不需要了,效率上可能会更高点。
设置之后会应用一些版本特性在手机应用中。表现在 一些行为或者样式上。比如targetSdkVersion 高于11的时候默认样式 Holo 就是替代原先的样式。
这边先说一下 我遇到的 两个坑....
1 targetSdkVersioin = 17 minSdkVersion =10 这个时候
addJavaScriptInterface(obj ,params) 方法 如果没有加 @JavascriptInterface 会报错 MethodNotFoundException ,但是如果没有加targetSdkVersion 是不会有问题的,但是同时也会存在安全漏洞。
2 targetSdkVersioin = 18 minSdkVersion = 10 这个时候AsyncTask 表现特别奇怪。
当执行execute() 之后 doInbackground()方法完全不执行 只有 onPreExecute() 方法执行了
后来查阅得知:
android 1.6 到 android 2.3 时 asyncTask 为了提高效率 把 顺序执行 修改成并发执行。
但是在 android 3.0 的时候 并发执行又修改成顺序执行, 同时增加了一个方法 executeOnExecutor(Executor) 用于并行运行异步任务。
注意 当我们没有设置targetSdkVersioin 的时候 targetSdkVersion 其实是 minSdkVersion。
如果targetSdkVersion 设置低于13 那么 execute() j就是并行的 如果高于13 那么就是 顺序执行异步任务。
所以为了能够立即执行任务 我们可以:
AsyncTask as ....;
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.HONEYCOMB_MR) {
as.execute();
} else {
as.executeOnExecutor(AsycTask.THREAD_POOL_EXECUTOR);
}
下一篇 总结一下 比较重要的注意点
- targetSdkVersion 相关了解
- android:targetSdkVersion相关
- targetSdkVersion
- targetSdkVersion
- targetSdkVersion
- uof了解相关
- MySQL相关的了解
- arm 相关了解
- 了解小米盒子相关
- Atheros(创锐讯)相关了解
- 了解系统流程相关
- CNN了解知识相关
- font 的相关了解
- 广告行业相关了解
- 了解elasticsearch 相关JVM
- 关于build.gradle中加了targetSDKVersion而manifest中没有写相关代码的异常
- 一 相关概念的了解
- 视频相关基本名词了解
- nand flash与nor flash区别
- 运行vs2012出现unknown hard error
- LeetCode Solutions : Path Sum I & II
- Ant 多渠道 多项目应用library 打包Android项目遇到问题总结
- chrome DevTool For Improving web app performance
- targetSdkVersion 相关了解
- NSURLProtocol Tutorial
- package.json字段全解
- 命名空间
- java里的String Pool
- nginx memcached模块解析
- VS运行程序正常,发布后查询中文不能正常使用
- 总结2
- Android开发之ViewPager实现轮播图(轮播广告)效果的自定义View