Android Studio支持库的目的

时间:2016-07-24 02:23:51

标签: android

很抱歉,如果这看似微不足道,但谷歌给我的所有链接都是关于如何添加支持库的链接。支持库的目的是什么?例如,我不得不使用CursorAdapter,但有2个不同的库,android.widget和android.support.v4.widget。这两者有什么区别?

谢谢!

1 个答案:

答案 0 :(得分:2)

此处摘录自Understanding Android Support Library文章,感谢 Josh Hight

<强>为什么吗
Android平台的一大优势是支持大量不同的设备。从手机,平板电脑和智能手表到电视,汽车等,Android都希望成为通用的移动计算平台。就数字而言,这种方法非常成功 - 在撰写本文时,可能有超过20,000种不同的设备。这远远超过任何竞争平台。

但是,支持所有这些设备会带来一些挑战。尽管硬件和软件存在显着差异,但用户希望应用程序能够在每台设备上保持一致。同时,由于向用户提供Android软件更新的独特挑战,开发人员不能总是依赖于能够访问最新Android版本的用户。事实上,开发人员应该预计他们的大多数用户都会运行18个月或更早的版本。

如果没有Android团队的帮助,开发人员将被迫做出一些非常丑陋的妥协,以支持他们的大多数用户。幸运的是,Android团队认识到适应旧设备和版本具有重要战略意义。但是,以不妨碍未来版本的方式执行此操作会带来架构挑战,因为Android API显然需要随着时间的推移而发展。如何为大多数Android用户提供重要的新API,而不仅仅是那些有幸运行最新版本的新设备?

答案是Android团队最重要和最特殊的设计决策之一:Android支持库。

我应该何时使用Android支持库?
当您需要比应用程序的minSdkVersion更新或标准框架中不可用的特定框架功能时,您应该使用其中一个支持库。 但是,Google认为支持库的一般用法是最佳做法,即使不一定是必需的。

摘自Support Library

  

支持库允许在旧版Android上运行的应用   平台,以支持更新版本的功能   平台。例如,在Android版本上运行的应用程序较低   依赖于框架类的5.0(API级别21)不能   显示材质设计元素,作为Android的那个版本   框架不支持材料设计。但是,如果应用程序   包含支持库的appcompat library,   该应用程序可以访问API级别21中提供的许多功能,   包括对材料设计的支持。因此,您的应用可以   在更广泛的范围内提供更一致的体验   平台版本。