Android 问世的时候,估计连开发者自己都没想到它会如此成功,因为一开始不可能就将API考虑得非常周到,以至于随着Android系统版本的不断迭代更新,每个版本都会新增加入很多新的API,但是新增的API在老版本中是不存在的,这里就出现了一个向下兼容的问题。
举个栗子,在Android 系统发布到3.0的时候,发现平板电脑的重要性,要兼容平板电脑,于是Fragment问世了,但是Fragment不局限于用在平板电脑,老版本的系统也想用,那么怎么办呢?google说简单,于是推出了一个大名鼎鼎的Android Support Library,用于兼容老版本。
关于Android Support Library,做过开发的肯定熟悉的,比如support-v4库,appcompat-v7库,相信大家很熟悉,到时不知道他们是干嘛的。
其实support-v4跟appcompat-v7都是为了兼容老版本而诞生的,support-v4中的4指的是API版本号,对应的系统版本是1.6,代表support-v4这个库提供的API会向下兼容到Android 1.6系统。
同理appcompat-v7中的7也是API版本号,对应Android系统2.1,这个库提供的API将向下兼容到Android 2.1系统。
这里就出现了一个问题,不单Support Library的取名难以理解,要记住数字对应的版本号之后,也将库跟Android系统绑定死了,也就是说,按照这种情况迭代下去,Android每更新一个系统,就得出一个Android Support Library用于向下兼容老版本。这是很蛋疼的事,Google自己也知道问题的麻烦性,于是,AndroidX出现了。
那么什么是AndroidX?简单一句话就是,AndroidX是对Android Support Library的一次升级。升级之后怎么样呢?就是我们在开发过程中只需要用AndroidX就行,因为它本身就兼容所有版本,Android每更新一个版本,比如新增的API也会更新到AndroidX中,也就是说AndroidX中及包含了老版本的API,也有新版本的API。
Google 维护起来方便,开发者使用起来也方便,而且Google 已经明确说明,未来都会以AndroidX为主,之前的Android Support Library将慢慢不再维护淘汰。
以上就是AndroidX的解释,下一篇讲对AndroidX的使用,已经旧项目如何迁移到AndroidX。
that's all