I have implemented a video player in an application which uses ExoPlayer for playing and caching videos and it works well. Since all samples I found are using a singleton instance of SimpleCache, I also followed this pattern and implemented it using singleton. But I want to know that is it safe for SimpleCache instance to be a singleton? or should I release it when user exits video player and create a new instance when user opens the video player?