Android:如何在 SharedPreferences.Editor 上调用 commit() 时正确抑制 Lint 警告 - "Consider using apply()"?

Android: How to properly suppress Lint warning - "Consider using apply()" - when calling commit() on SharedPreferences.Editor?

我需要 commit() 而不是 apply() 我对 SharedPreferences.Editor 的更改:

SharedPreferences sharedPrefs = getSharedPreferences("MY_SHARED_PREFS_FILE_NAME", Context.MODE_PRIVATE);
SharedPreferences.Editor sharedPrefsEditor = sharedPrefs.edit();
sharedPrefsEditor.putBoolean("MY_BOOLEAN", true);
sharedPrefsEditor.commit(); // <-- I get the Lint warning on this line.

但是 Lint 给了我这个警告:

Consider using apply instead; commit writes its data to persistent storage immediately, whereas apply will handle it in the background...

如何抑制 Lint 警告?

在我的方法签名之前添加 @SuppressWarnings("all") 可以抑制警告,但是我可以使用更具体的字符串来代替 "all" 吗? (找不到任何内容 here。)

@SuppressLint("ApplySharedPref") 适合我。

任何时候你需要抑制一个 lint,你要做的就是找到 Lint 问题 id 并将它传递给这个注释。

您可以通过转至文件 > 设置 > 编辑器 > 代码样式 > 检查 > Android > Lint 找到它。您可以在那里搜索要抑制的 lint,选择它后,您将能够在 Description 区域看到它的 issue id