使用Android支持库有缺点吗?

Google允许我们使用Android标准库在较旧的API上提供最新的function。 Google鼓励使用这个工具集,而不提其缺点。

有没有像更高的内存或CPU使用率,更慢的渲染或类似? 为什么不把每个新function作为库的一部分添加,而不是维护两个独立的版本? 几乎我看到的每个示例和现实世界的代码都必须使用这个库来支持ActionBar和其他东西,所以我们可以假设90%以上的应用程序依赖于它。 为什么不强迫呢?

Solutions Collecting From Web of "使用Android支持库有缺点吗?"

使用支持库没有已知的障碍。 此外,正如您正确地指出的那样,Google鼓励将其用作最佳实践:“将Android支持库包含在您的Android项目中被认为是应用程序开发人员的最佳实践,具体取决于您的应用程序所针对的平台版本的范围及其使用的API “。 ( http://developer.android.com/tools/support-library/index.html

作为一个缺点,我们只能提到一些小的事情:

  • 项目中apk大小和方法总数的增加(与其他function成本相比微不足道)

  • 一些特定的使用限制(通常在相应的Java文档中提到它们,如果我们仅在应用程序中使用而不将它们与来自sdk的“native”元素混合使用,它们通常不起任何作用)。 作为一个例子,请参阅FragmentActivity类,“已知限制”一节。

至于你的第二个问题 – 大量的新function都包括在支持库,避免核心SDK中的重复(android.support.v4.view.ViewPager和android.support.v4.view.PagerAdapter作为例子)。 保留了复制function(如Fragment),以保持使用本机实现devise的应用程序的兼容性。