Какие знаешь Storage для кеширования файлов

«Какие знаешь Storage для кеширования файлов» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android есть несколько вариантов для кеширования файлов:

  1. Internal Storage – приватное хранилище приложения.
    val file = File(context.filesDir, "cache_file.txt")
    file.writeText("cached data")
  1. External Storage – доступно всем приложениям (требует разрешений).
    val file = File(context.getExternalFilesDir(null), "cache_file.txt")
  1. Cache-директории (временные файлы, система может очистить):

    • context.cacheDir (internal)
    • context.externalCacheDir (external)
  2. SharedPreferences – для небольших данных (ключ-значение).

  3. Room/SQLite – для структурированных данных.

  4. DataStore – современная замена SharedPreferences.

Для больших файлов (например, изображений) лучше использовать DiskLruCache.