@CLは正しいですが、ジャーナルモードはAPIレベルに応じて変化するようです(おそらくメーカーによっても変化しますか?)。
ただし、今後の参考のために、いくつかのAPIレベルでjournal_modeについてデータベースにクエリを実行したところ、結果は次のようになりました。
- Android 2.3.7(API 10)=削除
- Android 4.0.4(API 15)=切り捨て
- Android 4.1.1(API 16)=永続化
- Android 4.3.0(API 18)=永続化
- Android 4.4.4(API 19)=永続化
- Android 5.0.0(API 21)=永続化
- Android 5.1.0(API 22)=永続化
ジャーナルモードを取得するためのコード:
Cursor c = db.rawQuery("PRAGMA journal_mode;", null);
c.moveToFirst();
String journalMode = c.getString(c.getColumnIndex("journal_mode"));
ジャーナルモードについて:
DELETEジャーナリングモードは通常の動作です。 DELETEモードでは、各トランザクションの終了時にロールバックジャーナルが削除されます。実際、削除操作は、トランザクションをコミットさせるアクションです。
TRUNCATEジャーナリングモードは、ロールバックジャーナルを削除するのではなく、長さをゼロに切り捨てることによってトランザクションをコミットします。多くのシステムでは、含まれているディレクトリを変更する必要がないため、ファイルの切り捨てはファイルの削除よりもはるかに高速です。
PERSISTジャーナルモードは、各トランザクションの終了時にロールバックジャーナルが削除されるのを防ぎます。代わりに、ジャーナルのヘッダーはゼロで上書きされます。これにより、他のデータベース接続がジャーナルをロールバックするのを防ぐことができます。 PERSISTジャーナリングモードは、ファイルの最初のブロックをゼロで上書きするよりも、ファイルの削除または切り捨ての方がはるかにコストがかかるプラットフォームでの最適化として役立ちます。
詳細