在Android Studio中看到的JAVA中的@SuppressLint是什么

时间:2018-08-06 16:34:29

标签: java android

我很困惑以Java代码在android studio中定义的以下代码中理解@SuppressLint的功能。 那里有任何专家足以解释它吗?

@SuppressLint("StaticFieldLeak")
private class RemoteDataTask extends 
AsyncTask<Void, Void, Void> {
    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        mProgressDialog = new 
  ProgressDialog(MyActivity.this);
        mProgressDialog.setTitle("Loading 
Profile");
        mProgressDialog.setMessage("Loading...");
        mProgressDialog.setIndeterminate(false);
        mProgressDialog.show();
    }

我很困惑以Java代码在android studio中定义的以下代码中理解@SuppressLint的功能。 那里有任何专家足以解释它吗?

1 个答案:

答案 0 :(得分:1)

Android Studio使用Lint检查您的代码中是否存在常见错误。这些不是导致构建错误的事情,而是违反最佳做法或表明其他事情做错了。 @SuppressLint命令禁止显示这些警告。

在这种情况下,您似乎正在使用一个非静态内部AsyncTask类,该类可以leak a context,因此通常会出现关于它的警告。输入该命令可禁止显示警告。通常,更可取的是修复警告而不是消除警告,除非您知道这不是真正的问题。