Удаляется кэш приложения после перезагрузки телефона

Рейтинг: 0Ответов: 1Опубликовано: 09.06.2023

Суть вопроса - это как сохранить кеш после перезагрузки телефона. Я так понимаю, что кешами управляет ОС, дабы разгрузить память от хлама, но все мои попытки были тщетны. Возможна первопричина моих неудач кроется в неправильном сохранении файла в кеше приложения. и так как я это делаю -

Uri uris = Uri.parse("url song");
DownloadManager downloadmanager = (DownloadManager) context.getSystemService(Context.DOWNLOAD_SERVICE);
DownloadManager.Request request = new DownloadManager.Request(uris);
request.setTitle(nameTrackTitle);
request.setDescription("Сохранение в Кэш");
String path = context.getCacheDir();
request.setDestinationInExternalFilesDir(context, path, namesTrack + ".mp3" );
downloadmanager.enqueue(request); 

Пробовал сохранять в разные папки в от приложения, подпапки и т.д. все было неудачно. Тем не менее файл там сохранялся, я мог его использовать в своем приложении, но после перезагрузки я заходил в эту папку и не наблюдал больше тех файлов, что были до перезагрузки.

Изначально я думал что дело в пути сохранения или в моём примитивном указании path папки, использовал папки входящие в класс Environment и это лишь добавляло новые папки в текущие папки и сохранялось там, но после перезагрузки все повторялось. буду при много благодарен если дадите ответ или статью где бы я мог узнать о своей проблеме более детально.

Ответы

▲ 0

Style-7 был прав, у ManagerDownload нет доступа к данной папке и я прислушался к его ответу и решил испробовать другой способ.

Я использовал библиотеку от Apache Commons IO

FileUtils.copyURLToFile(URL, File)

А если подробнее как я реализовал данный метод то вот мой код:

private File getTempFile(String url, String nameTrack) {
    File file = new File(context.getCacheDir + nameTrack);
    URL url1;
    try {
        url1 = new URL(url);
        FileUtils.copyURLToFile(url1, file);

    } catch (IOException e) {
        throw new RuntimeException(e);
    }
    return file;
}

файл скачался и после тестов в виде перезагрузок телефона файлы остались на месте. Спасибо Style-7 за то, что хоть так помог )))))