使用 Android 支持库有什么缺点吗?
Is there disadvantage to using Android Support Library?
Google 允许我们使用 Android 标准库在旧 API 上提供最新功能。 Google 鼓励使用此工具集,但未提及其缺点。
是否有更高的 RAM 或 CPU 使用率、更慢的渲染或类似的?为什么不将每个新功能都添加为库的一部分,而不是维护 2 个单独的版本?我看到的几乎每个示例和真实代码都必须使用这个库来支持 ActionBar 和其他东西,所以我们可以假设 90% 以上的应用程序都依赖它。为什么不强制呢?
没有使用支持库的已知障碍。此外,正如您正确指出的那样,Google 鼓励将其用作最佳实践:
"Including the Support Libraries in your Android project is considered a best practice for application developers, depending on the range of platform versions your app is targeting and the APIs that it uses." (http://developer.android.com/tools/support-library/index.html)
作为缺点,我们可以提及一些小事情:
项目中apk大小和方法总数的增加(与其他功能成本相比非常微不足道)
一些特定的使用限制(通常它们在相应的 Java 文档中提到,如果我们在应用程序中使用仅支持实现而不将它们与 [混合使用,它们通常不起任何作用 'native' 来自 sdk 的元素)。例如,请参阅 FragmentActivity class、'Known limitations' 部分。
关于你的第二个问题 - 支持库中包含大量新功能,避免了核心 SDK 中的重复(android.support.v4.view.ViewPager 和 android.support.v4.view.PagerAdapter 作为例子)。
保留复制功能(例如 Fragment)以保持使用本机实现设计的应用程序的兼容性。
Google 允许我们使用 Android 标准库在旧 API 上提供最新功能。 Google 鼓励使用此工具集,但未提及其缺点。
是否有更高的 RAM 或 CPU 使用率、更慢的渲染或类似的?为什么不将每个新功能都添加为库的一部分,而不是维护 2 个单独的版本?我看到的几乎每个示例和真实代码都必须使用这个库来支持 ActionBar 和其他东西,所以我们可以假设 90% 以上的应用程序都依赖它。为什么不强制呢?
没有使用支持库的已知障碍。此外,正如您正确指出的那样,Google 鼓励将其用作最佳实践: "Including the Support Libraries in your Android project is considered a best practice for application developers, depending on the range of platform versions your app is targeting and the APIs that it uses." (http://developer.android.com/tools/support-library/index.html)
作为缺点,我们可以提及一些小事情:
项目中apk大小和方法总数的增加(与其他功能成本相比非常微不足道)
一些特定的使用限制(通常它们在相应的 Java 文档中提到,如果我们在应用程序中使用仅支持实现而不将它们与 [混合使用,它们通常不起任何作用 'native' 来自 sdk 的元素)。例如,请参阅 FragmentActivity class、'Known limitations' 部分。
关于你的第二个问题 - 支持库中包含大量新功能,避免了核心 SDK 中的重复(android.support.v4.view.ViewPager 和 android.support.v4.view.PagerAdapter 作为例子)。 保留复制功能(例如 Fragment)以保持使用本机实现设计的应用程序的兼容性。