使用Android支持库是否有缺点?

使用Android支持库是否有缺点?,android,android-api-levels,Android,Android Api Levels,谷歌允许我们使用Android标准库在旧API上提供最新功能。谷歌鼓励使用这个工具集,但没有提到它的缺点 是否存在更高的RAM或CPU使用率、较慢的渲染或模拟?为什么不是每个新特性都作为库的一部分添加,而不是维护两个单独的版本?为了支持ActionBar和其他东西,我看到的几乎每个示例和真实代码都必须使用这个库,因此我们可以假设90%以上的应用程序依赖它。为什么不强制使用它?使用支持库没有已知的障碍。此外,正如您正确指出的,谷歌鼓励将其作为最佳实践: “在Android项目中包含支持库被认为是应

谷歌允许我们使用Android标准库在旧API上提供最新功能。谷歌鼓励使用这个工具集,但没有提到它的缺点


是否存在更高的RAM或CPU使用率、较慢的渲染或模拟?为什么不是每个新特性都作为库的一部分添加,而不是维护两个单独的版本?为了支持ActionBar和其他东西,我看到的几乎每个示例和真实代码都必须使用这个库,因此我们可以假设90%以上的应用程序依赖它。为什么不强制使用它?

使用支持库没有已知的障碍。此外,正如您正确指出的,谷歌鼓励将其作为最佳实践: “在Android项目中包含支持库被认为是应用程序开发人员的最佳实践,这取决于应用程序所针对的平台版本范围及其使用的API。”()

作为一个缺点,我们可以只提及几件小事:

  • 项目中apk规模和方法总数的增加(与其他功能成本相比非常小)

  • 一些特定的使用限制(通常在相应的Java文档中提到,如果我们只在应用程序中使用,而不将它们与sdk中的“本机”元素混合使用,它们通常不会起任何作用)。例如,请参见类“已知限制”部分

至于你的第二个问题——支持库中包含了大量新功能,避免了核心SDK中的重复(例如android.support.v4.view.ViewPager和android.support.v4.view.PagerAdapter)。
复制特征(例如片段)保留,以保持与使用本机实现设计的应用程序的兼容性。

您使用支持库的唯一原因是,您希望在较低的api级别上启用当时不可用的功能。我知道这一点,但它根本没有回答我的问题。这是一个注释。@Elltz某些类不可用给你没有支持的图书馆。例如,
ViewPager
。关于增加的大小。。。几个后续问题。你知道它让你的应用程序变大了多少吗?我的应用程序现在只有大约70KB。SL会让它变大多少?是将整个SL编译到您的应用程序中,还是仅将使用/必需的类和资源编译到应用程序中?