Android Studio 中的向后兼容性是什么?

What is Backwards Compatibility in Android Studio?

我是 Android 开发的新手。尽管我提到了 android 开发人员 website,但我还是没弄清楚。

在自定义 Activity 对话框中,当我取消选中 Android Studio 2.3.1 中的 Backwards Compatiblity(Appcompat) 时,它给了我一个提示:

If false, this activity base class will be Activity instead of AppCompatActivity

一般来说,android 开发者更喜欢什么?是否启用向后兼容性?谁能给我解释一下哪个更好。

向后兼容性允许您在应用中使用某些向后兼容的功能。他们将能够使用以前版本的 Android。

The Android Support Library offers backward-compatible versions of a number of features that are not built into the framework. (Android Support Library website)

例如,将使用 AppCompatActivity 而不是 Activity,它是 "backwards" 兼容的。它可以一直使用到 API 15 级。

Android 应用程序可以在不选中此复选框的情况下向后兼容。

If false, this activity base class will be Activity instead of AppCompatActivity

Android studio 通知您,如果您取消选中 "Backwards Compatability(Appcompat)" 框,那么您将包含和使用库 Activity 而不是 AppCompatActivity . 有关两者之间更详细的比较,请查看:

Generally, what do android developers prefer? enabling backwards compatibility or without it?

"CommonsWare" 写的评论对此做了最好的解释:

创建时选中该复选框的 activity 并不比未选中该复选框的向后兼容。选中该复选框可为您的应用程序提供特定的外观和感觉,并在某些较旧的设备上保留该外观和感觉;不选中该复选框意味着您的外观和感觉的某些方面在 Android 5.0 之前的设备上会有所不同。不过,这不会影响 activity 的核心功能。 – CommonsWare

您通常应该使用 AppCompatActivity 来支持旧的 Android 版本。如果您的应用不需要旧 android 版本,则只需使用 Activity.

通常更推荐使用AppCompatActivity