Mac*_*ski 6 android lint gradle
我已经更新到最新的Android SDK工具(23.0.0),平台工具(20.0.0),Android Studio Gradle插件(0.12.+),突然我收到一个奇怪的Lint问题报告说我应该使用apply( )而不是commit(),因为apply()是异步的,并且将允许UI线程继续进行,因为commit()将阻止它进行写入.凉.但我仍然得到这个:

这是一个Lint bug,还是我在这里遗漏了什么?
显然我可以压制这个警告,但我发现它毫无意义而且对根本原因一无所知.
编辑:从命令行构建应用程序时也会引发此问题.
确实,这是一个Lint bug.更具体地说,这一个.
错误似乎在CommitFinder内部类SharedPrefsDetector:
@Override
public boolean visitMethodInvocation(MethodInvocation node) {
...
String name = node.astName().astValue();
boolean isCommit = "commit".equals(name);
if (isCommit || "apply".equals(name)) {
...
if (returnValueIgnored) {
String message = "Consider using apply() instead; commit writes "
+ "its data to persistent storage immediately, whereas "
+ "apply will handle it in the background";
mContext.report(ISSUE, node, mContext.getLocation(node), message,
null);
}
Run Code Online (Sandbox Code Playgroud)
我想这个想法只是在你没有给commit()任何东西返回值时给出这个警告(这个部分有效),但他们忘了检查isCommit标志.:)
| 归档时间: |
|
| 查看次数: |
2501 次 |
| 最近记录: |