Android SQLiteOpenHelper.setWriteAheadLoggingEnabled(true)与SQLiteDatabase.enableWriteAheadLogging()

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只是多余的 更新:查看和

我在查看SQLiteOpenHelper的JavaDoc时注意到了
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    }