Apa cara terbaik untuk membuat file sementara di Android?
Bisakah File.createTempFile digunakan? Dokumentasinya sangat kabur tentang itu.
Secara khusus, tidak jelas kapan file sementara yang dibuat dengan File.createTempFile
dihapus, jika pernah.
android
file-io
temporary-files
hpique
sumber
sumber
Jawaban:
Inilah yang biasanya saya lakukan:
Adapun penghapusan mereka, saya juga tidak yakin. Karena saya menggunakan ini dalam implementasi cache, saya secara manual menghapus file tertua sampai ukuran direktori cache turun ke nilai preset saya.
sumber
Praktik terbaik pada file sementara internal dan eksternal :
Cache internal
Cache Eksternal
sumber
Untuk file internal sementara, ada 2 opsi
1.
2.
Kedua opsi menambahkan file dalam direktori cache aplikasi dan dengan demikian dapat dihapus untuk membuat ruang seperti yang diperlukan tetapi opsi 1 akan menambahkan nomor acak di akhir nama file untuk menjaga file unik. Itu juga akan menambahkan ekstensi file yang secara
.tmp
default, tetapi dapat diatur untuk apa pun melalui penggunaan parameter ke-2. Penggunaan bilangan acak berarti meskipun menentukan nama file itu tidak tetap sama dengan nomor ditambahkan bersama dengan akhiran / ekstensi file (.tmp
secara default) misalnya Anda menentukan nama file Andainternal_file
dan keluar sebagaiinternal_file1456345.tmp
. Sedangkan Anda dapat menentukan ekstensi, Anda tidak dapat menentukan nomor yang ditambahkan. Namun Anda dapat menemukan nama file yang dihasilkannyafile.getName();
, tetapi Anda harus menyimpannya di suatu tempat sehingga Anda dapat menggunakannya kapan pun Anda ingin misalnya menghapus atau membaca file. Karenanya untuk alasan ini saya lebih suka opsi ke-2 karena nama file yang Anda tentukan adalah nama file yang dibuat.sumber
Anda dapat menggunakan direktori cache menggunakan context.getCacheDir () .
sumber
Anda dapat menggunakan
File.deleteOnExit()
metode inihttps://developer.android.com/reference/java/io/File.html#deleteOnExit ()
Ini dirujuk di sini https://developer.android.com/reference/java/io/File.html#createTempFile(java.lang.String , java.lang.String, java.io.File)
sumber
Lakukan dengan sederhana. Menurut dokumentasi https://developer.android.com/training/data-storage/files
dan hapus setelah digunakan
sumber