我可以使用已弃用的 类 吗?

Can I use deprecated classes?

  1. 使用已弃用的 类 是否会对程序造成严重问题?

  2. 弃用是什么意思?

  3. 我还能使用已弃用的 类 吗?

它的一个例子是 Android 中的 ProgressDialog 视图。它从 API 26 开始被弃用,取而代之的是 ProgressBar 视图。如果我仍然使用 ProgressDialog 会怎样?非常舒适,正是我想要的。

来自 the documentation:

A program element annotated @Deprecated is one that programmers are discouraged from using, typically because it is dangerous, or because a better alternative exists. Compilers warn when a deprecated program element is used or overridden in non-deprecated code.

因此您可以使用一些已弃用的方法,但这不是最佳做法,因为存在更好的替代方法(但在某些情况下,这甚至可能很危险)

是也不是。您可以使用它们来维护旧的 API 级别,考虑到在较新的 android 版本中这些 类 可能会被删除。因此,通常您会将其用法包装在 if/else 条件中,仅在旧 Android 版本中使用它们来维护此类功能,只有在新版本中没有兼容的替代品时才使用它们。

Google 有一个不保持向后兼容性的坏习惯,这是计算机科学和技术中必不可少的最佳实践。我很欣赏弃用意味着有更好的选择和评论“理论上,应该无限期支持您正在使用的已弃用库。但是,Google Play 商店可能在某些时候不支持您的 API 级别,这意味着您可能无法继续更新您的应用程序。”非常中肯。 API 级别应该能够继续支持那些“已弃用”类。我非常确定我们中的许多人都能找到几个例子,其中所谓的“弃用”比“更新”的替代品要好得多。