Qual é a melhor maneira de criar um arquivo temporário no Android?
File.createTempFile pode ser usado? A documentação é muito vaga sobre isso.
Em particular, não está claro quando os arquivos temporários criados com File.createTempFile
são excluídos, se for o caso.
android
file-io
temporary-files
hpique
fonte
fonte
Respostas:
Isto é o que eu normalmente faço:
Quanto à sua exclusão, também não tenho certeza. Como eu uso isso na minha implementação de um cache, excluo manualmente os arquivos mais antigos até que o tamanho do diretório de cache se reduz ao meu valor predefinido.
fonte
Práticas recomendadas em arquivos temporários internos e externos :
Cache interno
Cache externo
fonte
Para arquivos internos temporários, são duas opções
1
2)
Ambas as opções adicionam arquivos no diretório de cache dos aplicativos e, portanto, podem ser limpas para liberar espaço conforme necessário, mas a opção 1 adicionará um número aleatório no final do nome do arquivo para manter os arquivos exclusivos. Ele também adicionará uma extensão de arquivo que,
.tmp
por padrão, pode ser configurada para qualquer coisa através do uso do segundo parâmetro. O uso do número aleatório significa que, apesar de especificar um nome de arquivo, ele não permanece o mesmo, pois o número é adicionado juntamente com a extensão de sufixo / arquivo (.tmp
por padrão). Por exemplo, você especifica seu nome de arquivo comointernal_file
e sai comointernal_file1456345.tmp
. Considerando que você pode especificar a extensão, não pode especificar o número que é adicionado. No entanto, você pode encontrar o nome do arquivo gerado por meio defile.getName();
, mas você precisará armazená-lo em algum lugar para poder usá-lo sempre que desejar, por exemplo, para excluir ou ler o arquivo. Portanto, por esse motivo, prefiro a segunda opção, pois o nome do arquivo especificado é o nome do arquivo criado.fonte
Você pode usar o diretório de cache usando context.getCacheDir () .
fonte
Você pode usar o
File.deleteOnExit()
métodohttps://developer.android.com/reference/java/io/File.html#deleteOnExit ()
É referenciado aqui https://developer.android.com/reference/java/io/File.html#createTempFile(java.lang.String , java.lang.String, java.io.File)
fonte
Faça isso de maneira simples. De acordo com a documentação https://developer.android.com/training/data-storage/files
e exclua-o após o uso
fonte