为最低 API 级别 21 的项目放弃 appcompat 是个好主意吗?

Is it a good idea to forgo appcompat for a project with minimum API level 21?

我正在开始一个最低 API 级别为 21 的项目,试图找出实现 ActionBar 的正确方法。官方文档从使用 appcompat 库开始,列出的主要优点是它保留了回到第 7 级的兼容性。我什至不想安装 Lollipop 之前的版本。我应该使用 appcompat 吗?放弃 appcompat 库有什么好处或坏处吗?

Is it a good idea to forgo appcompat for a project with minimum API level 21?

可能不会。

首先,即使您现在认为不会,以后您可能仍想降级。

但即使不是这样,它仍然提供功能。想象一下如果将来可以升级到 24、25 或 26 而无需修改您的代码。

Appcompat 是关于兼容性的。 APIs 将(不太可能)更改,您可以使用接口而无需手动检查 API 版本。

我需要证据!

getColor(int)。它在版本 23 中已被弃用。因此,对于 21,您仍然可以使用它,对于 23,您将(应该)必须切换到 getColor(int, Theme)。支持库的 ContextCompat 将为您处理此版本检查。

这只是一个示例。