我很困惑以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的功能。 那里有任何专家足以解释它吗?
答案 0 :(得分:1)
Android Studio使用Lint检查您的代码中是否存在常见错误。这些不是导致构建错误的事情,而是违反最佳做法或表明其他事情做错了。 @SuppressLint
命令禁止显示这些警告。
在这种情况下,您似乎正在使用一个非静态内部AsyncTask类,该类可以leak a context,因此通常会出现关于它的警告。输入该命令可禁止显示警告。通常,更可取的是修复警告而不是消除警告,除非您知道这不是真正的问题。