A corrupção do banco de dados sqlite e os arquivos misteriosamente recuperados podem ser o resultado de falhas de memória flash?

0

Eu tenho um telefone Android que está executando um sistema de banco de dados que fiz (interação através de SMS e com um fim de nuvem que sincroniza com ele). O banco de dados principal é armazenado em um arquivo sqlite. Funciona sem problemas em um telefone há aproximadamente dois anos.

Recentemente, no espaço de cerca de duas semanas, tive duas vezes que o arquivo de banco de dados simplesmente perdeu todos os seus dados (uma vez substituído por um arquivo de tamanho 0 e uma vez por um arquivo vazio de 1k). Hoje, um arquivo temporário que o software apagou pela manhã reapareceu por conta própria no período da tarde.

Esse tipo de comportamento pode ser o resultado do decaimento da memória flash - ou seja, o telefone está ficando velho?

    
por ShankarG 01.10.2015 / 19:09

1 resposta

1

Isso certamente pode ser o resultado de falhas de gravação NAND, sim. Seria possível tentar mover o banco de dados para um novo armazenamento, como um cartão SD? Embora a maioria desses cartões se desgastem mais rápido do que o armazenamento interno pela mesma quantidade de escrita, pode durar mais quando a única coisa que escreve muito sobre o SD.

É claro que, se a memória do dispositivo estiver em falha, você provavelmente precisará de um novo dispositivo, independentemente. Os erros geralmente aparecem na escrita, portanto, apenas executar programas e ler arquivos existentes pode continuar funcionando, mas todos os arquivos criados ou modificados também são gravados nos metadados do sistema de arquivos (e, devido à maneira como o NAND grava o trabalho, isso afeta o sistema de arquivos entradas para vários arquivos). Corrupção nos metadados fará com que o sistema operacional não consiga encontrar ou ler corretamente outros arquivos.

    
por 01.10.2015 / 20:15

Tags