Android SQLiteOpenHelper.setWriteAheadLoggingEnabled(true)与SQLiteDatabase.enableWriteAheadLogging()
我在查看SQLiteOpenHelper的JavaDoc时注意到了Android SQLiteOpenHelper.setWriteAheadLoggingEnabled(true)与SQLiteDatabase.enableWriteAheadLogging(),android,android-sqlite,sqliteopenhelper,Android,Android Sqlite,Sqliteopenhelper,我在查看SQLiteOpenHelper的JavaDoc时注意到了setWriteAheadLoggingEnabled(boolean)方法。SQLiteOpenHelper文档建议在助手的onConfigure(SQLiteDatabase)方法中启用预写日志记录 在助手上调用setWriteAheadLoggingEnabled(true)与在传递给onConfigure()的数据库实例上调用enableWriteAheadLogging()有什么区别吗?还是API只是多余的 更新:查看和
setWriteAheadLoggingEnabled(boolean)
方法。SQLiteOpenHelper文档建议在助手的onConfigure(SQLiteDatabase)
方法中启用预写日志记录
在助手上调用setWriteAheadLoggingEnabled(true)
与在传递给onConfigure()
的数据库实例上调用enableWriteAheadLogging()
有什么区别吗?还是API只是多余的
更新:查看和的代码,似乎SQLiteOpenHelper.setwriteaheadlogingenabled(boolean)
只执行了一些检查(即enablewiteaheadloging()
和disablewriteaheadloging()
已经执行了)在调用适当的方法之前。主要只是SQLiteDatabase enableWriteAheadLogging()的包装器。
:
是的,这或多或少是多余的。啊,就在我更新问题的时候。:)感谢您确认我没有遗漏任何细微差别。setWriteAheadLoggingEnabled到底做了什么?@androiddeveloper这里的解释很好。@Sufiyansari我不明白。
128 public void setWriteAheadLoggingEnabled(boolean enabled) {
129 synchronized (this) {
130 if (mEnableWriteAheadLogging != enabled) {
131 if (mDatabase != null && mDatabase.isOpen() && !mDatabase.isReadOnly()) {
132 if (enabled) {
133 mDatabase.enableWriteAheadLogging();
134 } else {
135 mDatabase.disableWriteAheadLogging();
136 }
137 }
138 mEnableWriteAheadLogging = enabled;
139 }
140 }
141 }