Java Android如何知道某个方法已被弃用?

Java Android如何知道某个方法已被弃用?,java,android,deprecated,Java,Android,Deprecated,我试图调用Glide的一个重载方法,但这个方法似乎已被弃用。例如,Android显示了传递URL对象的警告: Glide.with(mContext)。load(url) Android系统如何知道库的某个方法已被弃用?库作者是否指定支持哪些Android版本?我们通常设置最小SDK,而不是最大SDK,因此作者可能无法控制他们的方法何时被弃用。有什么想法吗?当方法在声明上有@deprecated注释时,该方法显示为deprecated。例: @Deprecated void setTitle(S

我试图调用Glide的一个重载方法,但这个方法似乎已被弃用。例如,Android显示了传递URL对象的警告:

Glide.with(mContext)。
load
(url)


Android系统如何知道库的某个方法已被弃用?库作者是否指定支持哪些Android版本?我们通常设置最小SDK,而不是最大SDK,因此作者可能无法控制他们的方法何时被弃用。有什么想法吗?

当方法在声明上有
@deprecated
注释时,该方法显示为deprecated。例:

@Deprecated
void setTitle(String title);
您可以通过注释
@RequiresApi(API\u目标\u级别)
为方法设置所需的API版本。例:

@RequiresApi(22)
void setTitle(String title);

标记为已弃用的方法可以在将来删除

当声明上有
@deprecated
注释时,方法显示为已弃用。例:

@Deprecated
void setTitle(String title);
您可以通过注释
@RequiresApi(API\u目标\u级别)
为方法设置所需的API版本。例:

@RequiresApi(22)
void setTitle(String title);

标记为不推荐的方法将来可以删除

要使用外部库,例如
Glide
,在您的
Gradle
文件中,您可能会指定如下内容:

dependencies {
   implementation 'com.github.bumptech.glide:glide:4.5.0'
   annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
}
@Deprecated
public void someDeprecatedFunction() {
指定了
Glide
的版本。因此,特定的
版本的库
包含在您的应用程序中

在库的源代码中,注释
@Deprecated
添加在已弃用的函数前面,类似于:

dependencies {
   implementation 'com.github.bumptech.glide:glide:4.5.0'
   annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
}
@Deprecated
public void someDeprecatedFunction() {

因此IDE将其显示为带有特殊格式/突出显示的已弃用的

要使用外部库,例如
Glide
,在
Gradle
文件中,您可能会指定如下内容:

dependencies {
   implementation 'com.github.bumptech.glide:glide:4.5.0'
   annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
}
@Deprecated
public void someDeprecatedFunction() {
指定了
Glide
的版本。因此,特定的
版本的库
包含在您的应用程序中

在库的源代码中,注释
@Deprecated
添加在已弃用的函数前面,类似于:

dependencies {
   implementation 'com.github.bumptech.glide:glide:4.5.0'
   annotationProcessor 'com.github.bumptech.glide:compiler:4.5.0'
}
@Deprecated
public void someDeprecatedFunction() {

因此IDE使用特殊格式/突出显示将其显示为不推荐使用的

如果我今天(v1.0.0)以后发布库,我可以决定在下一个版本(v1.0.1)中使用注释@deprecated,这只意味着如果我使用较旧版本的库,则不推荐使用,但这是一种糟糕的做法。作者完全可以控制方法的折旧注释。如果我今天(1.0.0版)发布库,我可以决定在下一版本(1.0.1版)中使用注释@Deprecated,这只意味着如果我使用旧版本的库,弃用将被忽略,但这是一种糟糕的做法。作者完全可以控制MethodsO的折旧注释。通过使用
@Deprecated
,我们基本上警告库用户准备在不久的将来删除弃用的元素,对吗?是的。android上的某些东西(例如:
Camera
)在2年或3年前被标记为不推荐使用,但现在也存在。因此,通过使用
@Deprecated
,我们基本上警告我们的库用户准备在不久的将来删除不推荐使用的元素,对吗?是的。android上的某些东西(例如:
Camera
)在两三年前就被标记为不推荐使用,但现在也存在。