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
。
我需要 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
。