O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Compatibilidade WAL (registro de gravação antecipada) para aplicativos

Android 9 introduz um modo especial de SQLiteDatabase chamado WAL compatibilidade (logging write-ahead) que permite que um banco de dados para uso journal_mode=WAL , preservando o comportamento de manter um máximo de uma conexão por banco de dados.

Compatibilidade O WAL é habilitado para o banco de dados de um aplicativo por padrão, a menos que o aplicativo tenha:

  1. Optou-in ou fora do registro de write-ahead chamando SQLiteDatabase.enableWriteAheadLogging ou disableWriteAheadLogging
  2. Explicitamente solicitado modo revista chamando SQLiteDatabase.OpenParams.setJournalMode(String mode)

Ativar o modo de diário WAL pode levar a uma melhoria significativa no desempenho e redução na quantidade de gravações. Por exemplo, em um sistema de arquivos ext4, o WAL pode levar a uma melhoria de 4x na velocidade de gravação.

Compatibilidade WAL é habilitado por padrão e não requer nenhuma implementação adicional.

Desativando Compatibilidade WAL

Para desativar o modo de compatibilidade WAL, sobrepor a db_compatibility_wal_supported recurso de configuração.

Por exemplo:

<bool name="db_compatibility_wal_supported">false</bool>

Você pode desejar desativar o WAL de compatibilidade para configurações em que o modo de diário do WAL não oferece uma vantagem de desempenho sobre os modos de diário de reversão tradicionais. Por exemplo, em um sistema de arquivos F2FS, embora o SQLite suporte gravações atômicas e o desempenho do diário DELETE seja semelhante ao WAL, o WAL pode aumentar a quantidade de gravações em 10% a 15%.

Validação

Para validar o modo de compatibilidade WAL, executar testes CTS do módulo CtsDatabaseTestCases. Os testes CTS verificarão o comportamento esperado quando a compatibilidade WAL estiver habilitada.