Ответ
В Android есть несколько способов кеширования:
- SharedPreferences - для простых данных (настройки, флаги)
val prefs = getSharedPreferences("app", MODE_PRIVATE)
prefs.edit().putString("token", "abc123").apply()
- Внутреннее/внешнее хранилище - для файлов
val file = File(context.cacheDir, "data.json")
file.writeText(jsonData)
- Room Database - для структурированных данных
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
- Кеш в памяти (LruCache) - для быстрого доступа
val memoryCache = LruCache<String, Bitmap>(maxMemory / 8)
- Retrofit Cache - HTTP кеширование
val cache = Cache(File(context.cacheDir, "http"), 10 * 1024 * 1024)
Выбор зависит от типа данных, частоты обновления и требований к производительности.