¿Cuál es la mejor manera de crear un archivo temporal en Android?
¿Se puede usar File.createTempFile ? La documentación es muy vaga al respecto.
En particular, no está claro cuándo File.createTempFile
se eliminan los archivos temporales creados con , si alguna vez.
android
file-io
temporary-files
hpique
fuente
fuente
Respuestas:
Esto es lo que normalmente hago:
En cuanto a su eliminación, tampoco estoy completamente seguro. Como uso esto en mi implementación de un caché, elimino manualmente los archivos más antiguos hasta que el tamaño del directorio de caché se reduce a mi valor preestablecido.
fuente
Mejores prácticas en archivos temporales internos y externos :
Caché interna
Caché externa
fuente
Para archivos internos temporales hay 2 opciones
1)
2)
Ambas opciones agregan archivos en el directorio de caché de las aplicaciones y, por lo tanto, se pueden borrar para hacer espacio según sea necesario, pero la opción 1 agregará un número aleatorio al final del nombre de archivo para mantener los archivos únicos. También agregará una extensión de archivo que es
.tmp
predeterminada, pero se puede establecer en cualquier cosa mediante el uso del segundo parámetro. El uso del número aleatorio significa que, a pesar de especificar un nombre de archivo, no permanece igual, ya que el número se agrega junto con la extensión de sufijo / archivo (.tmp
por defecto), por ejemplo, especifica su nombre de archivo comointernal_file
y sale comointernal_file1456345.tmp
. Mientras que puede especificar la extensión, no puede especificar el número que se agrega. Sin embargo, puede encontrar el nombre de archivo que genera a través defile.getName();
, pero necesitaría almacenarlo en algún lugar para poder usarlo cuando lo desee, por ejemplo, para eliminar o leer el archivo. Por lo tanto, por esta razón, prefiero la segunda opción, ya que el nombre de archivo que especifique es el nombre de archivo que se crea.fuente
Puede usar el directorio de caché usando context.getCacheDir () .
fuente
Puedes usar el
File.deleteOnExit()
métodohttps://developer.android.com/reference/java/io/File.html#deleteOnExit ()
Se hace referencia aquí https://developer.android.com/reference/java/io/File.html#createTempFile(java.lang.String , java.lang.String, java.io.File)
fuente
Hazlo de manera simple. De acuerdo con la documentación https://developer.android.com/training/data-storage/files
y eliminarlo después del uso
fuente