android开发中不可避开的一个事情,就是support library的引用。
Google官方文档,建议一直使用它。
网上的资料对这个东西的解释,也是为了兼容旧版本设备。
本来我以为这只是个入门问题,大家不讨论都是觉得没必要讨论。
经过一番调查发现,实际上没人说得清楚为什么要使用它,为什么不使用它,这东西在开发sdk里到底占居一个什么位置,它里面的实现跟原生提供的机能有什么区别。
任何OS的升级,除了提供新的机能外,就是原声api的增加了,既然是新追加的api,如果使用了这个api,那么在旧版本的os上自然是无法运行,如果又想在旧版本os上能够支持新的特性怎么办?当然是在旧版本原声api基础上再模拟一套新特性了。support library干的就是这种事情。
既然support library是基于一个旧版本的os扩展开来的,那么到底是哪个版本,必须有个基准。
比如现在最常用的一个版本SUPPORT V7(注意这里的V7并不是support library的版本,V7代表的意思是基于os的哪个版本做成的,support library经常升级添加新特性,只要基于的os版本不变,这个V7号也是不会变)是基于os 2.1作成的,那么在版本在2.1以上的所有机子都可以用。
那么问题来了,如果我只想做一个支持os 4.0以上的app,而且os 4.0提供的api足够我用了,我为什么还要用support library?因为比如SUPPORT V7,它的内部实现已经确定了,我使用它运行在os 2.1和os4.0上没啥区别。
按照有些网友的解释,好像support library里也会提供一些原生api不提供的东西,太搞笑了,如果作为原生api的扩展,为啥非要放到这个包里?
对于高版本的os,同样的api,有两份,一份是原生实现,一份是由support library实现的。而且官方也建议不管min version是哪个版本的程序,最好使用support library,那么拜托,你还升级os干嘛,只升级support library不就好了?support library在高版本的os运行时会切换调用原生api么?
根据以下stackoverflow上的回复
一般情况下,不会调用原生api,不管你是在哪个版本的os上运行,只要使用了support library,那么就是使用了它的实现。
但是根据这个stackoverflow上的回复
http://stackoverflow.com/questions/11641669/how-android-support-library-work
在高版本的os运行时,会切换到原生api的,甚至连内部消息都出来了(看Jose L Ugia的回答),我真是醉了。
我最后只想说,贵圈真tmd乱。
相关推荐
SDK Manager中Extras下没有Android Support Library.docx
Android Support Library v23.zip 文件 亲测可用
Android support Library v23 Extras列表下没有的,可以下载并解压到目录/sdk/extras/android文件夹下。
support library 23.2是一款可以帮助您完成安卓软件开发的工具,当您在调试安卓软件或者开发新软件的时候,可能会遇到软件版本不兼容系统的问题,这时候下载这款专业的支持库插件,就可以在开发的时候获得更多的系统...
解决SDK Tools下没有Android Support Library的问题,包含support v4,support v7等android兼容库,内含操作说明
下载后,解压出来就是一个包含很多内容的support文件夹,将support文件夹复制到/sdk/extras/android文件夹下即可,这时SDK Manager 中 Extras列表下就显示了Android Support Library
android support library包含support v4,support v7等android兼容库
当我们谈论安卓支持库(Android Support Library)的时候,应该意识到这不是一个库,而是一套库的集合 ,它们旨在无需新平台的情况下,提供API的向后兼容版本以及新功能。 23.2 版本添加了一些新的支持库,同时还为...
Android Design Support Library加support-v7-appcompat
Android Design Support Library v28 控件使用demo Android Design Support Library v28 控件使用demo
Android support Library v23 Extras列表下没有的,可以下载并解压到目录/sdk/extras/android文件夹下。
该文件夹是Extras/Android Support Library 的解压包 使用方法:必须先用sdk manager.exe安装了其他的依赖包后,再使用(不然找不到extra文件夹)。 直接复制该文件夹到Android sdk目录下的extras/android 下即可 ...
eclipse安卓支持库support library,下载后解压放到Android-sdk\extras\android\support中,然后重启eclipse或SDK Manager。 里面包括v4、v7、v13、v17包android-support-v7-appcompat 参考...
android support library 23android support library 23android support library 23android support library 23android support library 23android support library 23android support library 23android support ...
Android Support Library version23, 如果您的android studio SDK Manager 没有可以都用安装到 (Android\Sdk\extras\android\) 增加 support
eclipse可用的Android Support Percent Library库,将项目导入eclipse,依赖该项目即可.PercentLinearLayout的编写请自行参考博文http://blog.csdn.net/sbsujjbcy/article/details/46693999
Android Support Library 22.2.0 中增加了 Design Support Library 用来在低版本中支持 Material Design.
TI C6000系列DSP芯片CSL库指导
TMS320C55x Chip Support Library API Reference Guide
TMS320C6000 Chip Support Library API Reference Guide (Rev. J).rar