Просмотреть Android Кэш-квоту в API 21? - PullRequest
0 голосов
/ 03 апреля 2020

Я следую документам для кэширования данных для моего приложения android, встроенного в API 21. В руководстве рекомендуется проверять свободное место на устройстве перед попыткой выделить файлы кэша. Это не обязательно для моего варианта использования, но мне было любопытно добавить его.

В руководстве предлагается получить ссылку на StorageManager (Kotlin):

val manager = context.GetSystemService(Context.STORAGE_SERVICE)

, а затем установить флажок для посмотрите, достаточно ли свободного места:

val cacheFile = File(context.cacheDir, "data-cache")
manager.getCacheQuotaBytes(manager.getUuidForPath(cacheFile.path))

Однако это функция API 26. Я пытался выяснить, как это можно сделать в API 21, не глядя на свободное пространство устройства, но что-то, что построено только для целей кэширования.

Есть ли способ сделать это в API 21 ? Является ли мой лучший вариант для запроса устройства на свободное место на устройстве? Есть вероятность, что он не даст точного результата (ОС может автоматически освобождать старые файлы кэша из других приложений, если есть ограниченное пространство). Опять же, это не очень важно для моего варианта использования, потому что это приложение будет когда-либо использоваться только в эмуляторе, где есть много свободного места, и файл, который нужно кэшировать, составляет ~ 20 КБ.

Спасибо.

...