Stay organized with collections
Save and categorize content based on your preferences.
Interfaces
Classes
Exceptions
Annotations
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2025-05-15 UTC.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-05-15 UTC."],[],[],null,["# androidx.media3.datasource.cache\n================================\n\n*** ** * ** ***\n\nKotlin \\|[Java](/reference/androidx/media3/datasource/cache/package-summary \"View this page in Java\")\n\nInterfaces\n----------\n\n|-------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------|\n| [Cache](/reference/kotlin/androidx/media3/datasource/cache/Cache) | A cache that supports partial caching of resources. |\n| [Cache.Listener](/reference/kotlin/androidx/media3/datasource/cache/Cache.Listener) | Listener of [Cache](/reference/kotlin/androidx/media3/datasource/cache/Cache) events. |\n| [CacheDataSource.EventListener](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSource.EventListener) | Listener of [CacheDataSource](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSource) events. |\n| [CacheEvictor](/reference/kotlin/androidx/media3/datasource/cache/CacheEvictor) | Evicts data from a [Cache](/reference/kotlin/androidx/media3/datasource/cache/Cache). |\n| [CacheKeyFactory](/reference/kotlin/androidx/media3/datasource/cache/CacheKeyFactory) | Factory for cache keys. |\n| [CacheWriter.ProgressListener](/reference/kotlin/androidx/media3/datasource/cache/CacheWriter.ProgressListener) | Receives progress updates during cache operations. |\n| [ContentMetadata](/reference/kotlin/androidx/media3/datasource/cache/ContentMetadata) | Interface for an immutable snapshot of keyed metadata. |\n\nClasses\n-------\n\n|-------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [CacheDataSink](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSink) | Writes data into a cache. |\n| [CacheDataSink.Factory](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSink.Factory) | [DataSink.Factory](/reference/kotlin/androidx/media3/datasource/DataSink.Factory) for [CacheDataSink](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSink) instances. |\n| [CacheDataSource](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSource) | A [DataSource](/reference/kotlin/androidx/media3/datasource/DataSource) that reads and writes a [Cache](/reference/kotlin/androidx/media3/datasource/cache/Cache). |\n| [CacheDataSource.Factory](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSource.Factory) | [DataSource.Factory](/reference/kotlin/androidx/media3/datasource/DataSource.Factory) for [CacheDataSource](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSource) instances. |\n| [CacheSpan](/reference/kotlin/androidx/media3/datasource/cache/CacheSpan) | Defines a span of data that may or may not be cached (as indicated by [isCached](/reference/kotlin/androidx/media3/datasource/cache/CacheSpan#isCached())). |\n| [CacheWriter](/reference/kotlin/androidx/media3/datasource/cache/CacheWriter) | Caching related utility methods. |\n| [ContentMetadataMutations](/reference/kotlin/androidx/media3/datasource/cache/ContentMetadataMutations) | Defines multiple mutations on metadata value which are applied atomically. |\n| [DefaultContentMetadata](/reference/kotlin/androidx/media3/datasource/cache/DefaultContentMetadata) | Default implementation of [ContentMetadata](/reference/kotlin/androidx/media3/datasource/cache/ContentMetadata). |\n| [LeastRecentlyUsedCacheEvictor](/reference/kotlin/androidx/media3/datasource/cache/LeastRecentlyUsedCacheEvictor) | Evicts least recently used cache files first. |\n| [NoOpCacheEvictor](/reference/kotlin/androidx/media3/datasource/cache/NoOpCacheEvictor) | Evictor that doesn't ever evict cache files. |\n| [SimpleCache](/reference/kotlin/androidx/media3/datasource/cache/SimpleCache) | A [Cache](/reference/kotlin/androidx/media3/datasource/cache/Cache) implementation that maintains an in-memory representation. |\n\nExceptions\n----------\n\n|---------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------|\n| [Cache.CacheException](/reference/kotlin/androidx/media3/datasource/cache/Cache.CacheException) | Thrown when an error is encountered when writing data. |\n| [CacheDataSink.CacheDataSinkException](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSink.CacheDataSinkException) | Thrown when an [IOException](https://developer.android.com/reference/java/io/IOException.html) is encountered when writing data to the sink. |\n\nAnnotations\n-----------\n\n|-----------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|\n| [CacheDataSource.CacheIgnoredReason](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSource.CacheIgnoredReason) | Reasons the cache may be ignored. |\n| [CacheDataSource.Flags](/reference/kotlin/androidx/media3/datasource/cache/CacheDataSource.Flags) | Flags controlling the CacheDataSource's behavior. |"]]