
Tenho um celular android que roda um sistema de banco de dados que fiz (interação via SMS e com nuvem final que sincroniza com ele). O banco de dados principal é armazenado em um arquivo sqlite. Ele está funcionando perfeitamente em um telefone há aproximadamente dois anos.
Recentemente, no espaço de cerca de duas semanas, duas vezes o arquivo de banco de dados simplesmente perdeu todos os seus dados (uma vez substituído por um arquivo de comprimento 0 e uma vez por um arquivo vazio de 1k). Hoje, um arquivo temporário que o software excluiu pela manhã reapareceu sozinho à tarde.
Esse tipo de comportamento pode ser resultado da deterioração da memória flash - ou seja, o telefone está simplesmente envelhecendo?
Responder1
Isso certamentepodeser 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 desgaste mais rapidamente do que o armazenamento interno para a mesma quantidade de gravação, ele pode durar mais quando é a única coisa que grava muita coisa no SD.
Claro, se a memória do dispositivoéfalhando, você provavelmente está pronto para um novo dispositivo de qualquer maneira. Os erros geralmente aparecem na gravação, portanto, apenas executar programas e ler arquivos existentes pode continuar funcionando, mas cada arquivo que você cria ou modifica também grava nos metadados do sistema de arquivos (e, devido à maneira como a gravação NAND funciona, isso afetará o sistema de arquivos entradas para vários arquivos). A corrupção nos metadados tornará o sistema operacional incapaz de encontrar ou ler corretamente outros arquivos.