Какой лучший способ создать временный файл в Android?
Можно ли использовать File.createTempFile ? Документация очень расплывчата по этому поводу.
В частности, неясно, когда File.createTempFile
удаляются временные файлы, созданные с помощью , если вообще когда-либо.
android
file-io
temporary-files
hpique
источник
источник
Ответы:
Это то, что я обычно делаю:
Что касается их удаления, я тоже не совсем уверен. Поскольку я использую это в своей реализации кеша, я вручную удаляю самые старые файлы, пока размер каталога кеша не снизится до моего предустановленного значения.
источник
Лучшие практики для внутренних и внешних временных файлов:
Внутренний кеш
Внешний кэш
источник
Для временных внутренних файлов их 2 варианта
1.
2.
Обе опции добавляют файлы в каталог кэша приложений и, следовательно, могут быть очищены, чтобы освободить место по мере необходимости, но опция 1 добавит случайное число в конце имени файла, чтобы сохранить файлы уникальными. Это также добавит расширение файла, которое
.tmp
по умолчанию, но оно может быть установлено на что угодно с помощью 2-го параметра. Использование случайного числа означает, что, несмотря на указание имени файла, оно не останется таким же, как число, добавляемое вместе с расширением суффикса / файла (.tmp
по умолчанию), например, вы указываете свое имя файла какinternal_file
и получается какinternal_file1456345.tmp
. Принимая во внимание, что вы можете указать добавочный номер, вы не можете указать добавляемый номер. Однако вы можете найти имя файла, который он генерирует черезfile.getName();
, но вам нужно будет хранить его где-нибудь, чтобы вы могли использовать его в любое время, например, чтобы удалить или прочитать файл. Поэтому по этой причине я предпочитаю второй вариант, поскольку имя файла, которое вы указываете, является именем файла, который создается.источник
Вы можете использовать каталог кеша с помощью context.getCacheDir () .
источник
Вы можете использовать
File.deleteOnExit()
методhttps://developer.android.com/reference/java/io/File.html#deleteOnExit ()
На него ссылаются здесь https://developer.android.com/reference/java/io/File.html#createTempFile(java.lang.String , java.lang.String, java.io.File)
источник
Сделай это по-простому. Согласно документации https://developer.android.com/training/data-storage/files
и удалите его после использования
источник