使用Android支持库有不利之处吗?

mic*_*vka 11 android android-api-levels

Google允许我们使用Android标准库在旧版API上提供最新功能.Google鼓励使用此工具集,但未提及其缺点.

是否有更高的RAM或CPU使用率,更慢的渲染或类似?为什么不将每个新功能作为库的一部分添加而不是维护2个单独的版本?我看到的几乎每个示例和现实代码都必须使用这个库来支持ActionBar和其他东西,所以我们可以假设90 +%的应用程序依赖它.为什么不强行呢?

Dmi*_*Arc 4

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

作为缺点,我们可以提到一些小事情:

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

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

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