From 11f3383e9a604d1ef151e7b3b18f1bb786c4b5c8 Mon Sep 17 00:00:00 2001 From: Scott Jackson Date: Thu, 9 Jan 2014 13:39:34 -0800 Subject: Removed some useless caches that waste memory --- .../dsub/service/CachedMusicService.java | 78 ++++++++-------------- 1 file changed, 28 insertions(+), 50 deletions(-) (limited to 'src') diff --git a/src/github/daneren2005/dsub/service/CachedMusicService.java b/src/github/daneren2005/dsub/service/CachedMusicService.java index b8bdf94c..b93a6e1e 100644 --- a/src/github/daneren2005/dsub/service/CachedMusicService.java +++ b/src/github/daneren2005/dsub/service/CachedMusicService.java @@ -60,18 +60,15 @@ public class CachedMusicService implements MusicService { private static final int TTL_MUSIC_DIR = 5 * 60; // Five minutes private final RESTMusicService musicService; - private final LruCache> cachedMusicDirectories; private final TimeLimitedCache cachedLicenseValid = new TimeLimitedCache(120, TimeUnit.SECONDS); private final TimeLimitedCache cachedIndexes = new TimeLimitedCache(60 * 60, TimeUnit.SECONDS); private final TimeLimitedCache> cachedPlaylists = new TimeLimitedCache>(3600, TimeUnit.SECONDS); private final TimeLimitedCache> cachedMusicFolders = new TimeLimitedCache>(10 * 3600, TimeUnit.SECONDS); - private final TimeLimitedCache> cachedGenres = new TimeLimitedCache>(10 * 3600, TimeUnit.SECONDS); private final TimeLimitedCache> cachedPodcastChannels = new TimeLimitedCache>(10 * 3600, TimeUnit.SECONDS); private String restUrl; public CachedMusicService(RESTMusicService musicService) { this.musicService = musicService; - cachedMusicDirectories = new LruCache>(MUSIC_DIR_CACHE_SIZE); } @Override @@ -118,7 +115,6 @@ public class CachedMusicService implements MusicService { if (refresh) { cachedIndexes.clear(); cachedMusicFolders.clear(); - cachedMusicDirectories.evictAll(); } Indexes result = cachedIndexes.get(); if (result == null) { @@ -130,23 +126,18 @@ public class CachedMusicService implements MusicService { @Override public MusicDirectory getMusicDirectory(String id, String name, boolean refresh, Context context, ProgressListener progressListener) throws Exception { - checkSettingsChanged(context); - TimeLimitedCache cache = refresh ? null : cachedMusicDirectories.get(id); - MusicDirectory dir = cache == null ? null : cache.get(); - if (dir == null) { - if(!refresh) { - dir = FileUtil.deserialize(context, getCacheName(context, "directory", id), MusicDirectory.class); - } - - if(dir == null) { - dir = musicService.getMusicDirectory(id, name, refresh, context, progressListener); - FileUtil.serialize(context, dir, getCacheName(context, "directory", id)); - } - cache = new TimeLimitedCache(TTL_MUSIC_DIR, TimeUnit.SECONDS); - cache.set(dir); - cachedMusicDirectories.put(id, cache); - } - return dir; + MusicDirectory dir = null; + + if(!refresh) { + dir = FileUtil.deserialize(context, getCacheName(context, "directory", id), MusicDirectory.class); + } + + if(dir == null) { + dir = musicService.getMusicDirectory(id, name, refresh, context, progressListener); + FileUtil.serialize(context, dir, getCacheName(context, "directory", id)); + } + + return dir; } @Override @@ -354,19 +345,15 @@ public class CachedMusicService implements MusicService { @Override public List getGenres(boolean refresh, Context context, ProgressListener progressListener) throws Exception { - checkSettingsChanged(context); - List result = refresh ? null : cachedGenres.get(); + List result = null; - if (result == null) { - if(!refresh) { - result = FileUtil.deserialize(context, getCacheName(context, "genre"), ArrayList.class); - } - - if(result == null) { - result = musicService.getGenres(refresh, context, progressListener); - FileUtil.serialize(context, new ArrayList(result), getCacheName(context, "genre")); - } - cachedGenres.set(result); + if(!refresh) { + result = FileUtil.deserialize(context, getCacheName(context, "genre"), ArrayList.class); + } + + if(result == null) { + result = musicService.getGenres(refresh, context, progressListener); + FileUtil.serialize(context, new ArrayList(result), getCacheName(context, "genre")); } return result; @@ -399,27 +386,19 @@ public class CachedMusicService implements MusicService { @Override public MusicDirectory getPodcastEpisodes(boolean refresh, String id, Context context, ProgressListener progressListener) throws Exception { - checkSettingsChanged(context); String altId = "p-" + id; - TimeLimitedCache cache = refresh ? null : cachedMusicDirectories.get(altId); - MusicDirectory result = (cache == null) ? null : cache.get(); + MusicDirectory result = null; - if(result == null) { - if(!refresh) { - result = FileUtil.deserialize(context, getCacheName(context, "directory", altId), MusicDirectory.class, 10); - } - - if(result == null) { - result = musicService.getPodcastEpisodes(refresh, id, context, progressListener); - FileUtil.serialize(context, result, getCacheName(context, "directory", altId)); - } - cache = new TimeLimitedCache(TTL_MUSIC_DIR, TimeUnit.SECONDS); - cache.set(result); - cachedMusicDirectories.put(altId, cache); + if(!refresh) { + result = FileUtil.deserialize(context, getCacheName(context, "directory", altId), MusicDirectory.class, 10); } - return result; + if(result == null) { + result = musicService.getPodcastEpisodes(refresh, id, context, progressListener); + FileUtil.serialize(context, result, getCacheName(context, "directory", altId)); + } + return result; } @Override @@ -494,7 +473,6 @@ public class CachedMusicService implements MusicService { String newUrl = musicService.getRestUrl(context, null, false); if (!Util.equals(newUrl, restUrl)) { cachedMusicFolders.clear(); - cachedMusicDirectories.evictAll(); cachedLicenseValid.clear(); cachedIndexes.clear(); cachedPlaylists.clear(); -- cgit v1.2.3