Sea*_*ach 14 android android-support-library
我对Android支持库的目的以及何时需要它感到困惑.我的理解是,使用支持库的主要优点是Android在旧版本中自己实现主题和UI功能,而无需开发人员明确定义它们.其中一个关键UI功能是Action Bar,它是在Honeycomb中为平板电脑引入的,然后添加到Ice Cream Sandwich的整个平台中.
也就是说,假设我想开发一个针对KitKat的应用程序(编写本文时的最新API),但我只想支持最早版本的Jelly Bean API 16.
Jelly Bean包含Action Bar,在16到19之间几乎没有主要的UI更改.在这种情况下我应该使用支持库吗?如果我使用它会带来什么好处?我正在寻找一个解释支持库的好处的答案,以及一个示例用例.
des*_*ook 15
这是你的答案 - 永远!
以下推理直接来自Big Nerd Ranch的Android Dev书籍.我的重点:
本书使用了支持库实现的片段,而不是Android操作系统内置的实现,这可能看起来像是一个不寻常的选择.毕竟,最初创建了片段的支持库实现,以便开发人员可以在不支持API的旧版Android上使用片段.今天,大多数开发人员可以专门使用Android版本,其中包括对片段的支持.
我们仍然更喜欢支持片段.为什么?支持片段非常出色,因为您可以随时更新应用程序中支持库的版本并发布新版本的应用程序.支持库的新版本每年出现多次.将新功能添加到片段API时,该功能也会添加到支持库片段API以及任何可用的错误修复程序中.要使用此新功能,只需更新应用程序中的支持库版本即可.
例如,Android 4.2中添加了对片段嵌套(在片段中托管片段)的官方支持.如果您使用Android操作系统的片段实现并支持Android 4.0及更高版本,则无法在您的应用支持的所有设备上使用此API.如果您使用的是支持库,则可以更新应用程序中的库版本并嵌套片段,直到设备上的内存不足为止.
有没有显著缺点使用支持库的片段.片段的实现在支持库中与在OS中几乎相同.唯一真正的缺点是您必须在项目中包含支持库,并且它具有非零大小.但是,它目前在一兆字节以下 - 您可能也会使用支持库来实现其他一些功能.
我们在本书和我们自己的应用程序开发中采用了实用的方法.支持库是王道.
所以......总会有一个支持库,因为出于各种原因,你几乎总是需要支持旧设备:
设备所有者可能无法更新到最新版本,因为:
无论如何,这里是要点:支持库具有与OS /框架API完全相同的功能,并且它们具有紧凑的尺寸 - 因为它们必须包含在您的APK中,它们不会非常大地增加尺寸.所以我们已经确定使用/包含它们没有任何缺点.现在,好处是巨大的 - 看看上面的片段示例.
The Support Library is generally used when you want to easily support a wider range of OS versions with less version specific source - with it you can use features introduced in higher version of the OS on older platforms without having to worry and check whether this platform has that feature and do something in case it doesn't.
There are several versions of the support library - v4, v7, v8 and v13. They all add functionality that is introduced in the higher versions of the API then the version of the library. For example v4 may add functionality from API 5, 6, 7, 8... , while v7 - only from API 8 and above.
Other major feature of the libraries is that they are regularly updated so you may choose to depend on the support library for some feature rather than on the current OS version installed (which may introduce bugs in that feature).
Of course they have their downside too - the support library is an additional dependency for your project.
| 归档时间: |
|
| 查看次数: |
3800 次 |
| 最近记录: |