The Media3 library provides a preload manager to help you show media faster to users in your app. The preload manager loads content from media before the user starts playing it. That way, when the user changes to a different piece of content, it can start playing faster--the preloaded content can start playing while the rest of the content is loaded for playback.

Media3 provides an abstract class,[`BasePreloadManager`](https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/BasePreloadManager), which can be customized to implement whatever strategy you might have for prioritizing content. This document set explains how to use an implementation of`BasePreloadManager`that's also provided in the Media3 library:[`DefaultPreloadManager`](https://developer.android.com/reference/androidx/media3/exoplayer/source/preload/DefaultPreloadManager), which assumes media is in a one-dimensional list (like a playlist or carousel), and prioritizes media items based on how close they are to the media that's currently playing.

The documentation covers the following topics:

- [Preload manager concepts](https://developer.android.com/media/media3/exoplayer/preloading-media/preloadmanager/concepts)
- [Create a preload manager](https://developer.android.com/media/media3/exoplayer/preloading-media/preloadmanager/create)
- [Manage and play content](https://developer.android.com/media/media3/exoplayer/preloading-media/preloadmanager/manage-play)