Android Open Source - LyricHere Lyric Cache






From Project

Back to project page LyricHere.

License

The source code is released under:

Apache License

If you think the Android project LyricHere listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package cn.zhaiyifan.lyrichere.utils;
/*from   w w w  .jav  a2s  .c  om*/
import android.content.Context;
import android.support.v4.util.LruCache;

import cn.zhaiyifan.lyrichere.model.Lyric;

/**
 * Created by yifan on 6/12/14.
 */
public class LyricCache {
    private static final String TAG = LyricCache.class.getSimpleName();
    private static LyricCache sInstance;
    private LruCache<String, Lyric> mLruCache;

    public LyricCache(Context context) {
        init(context);
    }

    public final static LyricCache getInstance(final Context context) {
        if (sInstance == null) {
            sInstance = new LyricCache(context.getApplicationContext());
        }
        return sInstance;
    }

    public void init(final Context context) {
        mLruCache = new LruCache<String, Lyric>(50);
    }

    public Lyric get(String key) {
        if (key == null) {
            return null;
        }
        if (mLruCache != null) {
            Lyric lyric = mLruCache.get(key);
            if (lyric != null) {
                return lyric;
            }
        }
        return null;
    }

    public void add(String key, Lyric lyric) {
        if (key == null || lyric == null) {
            return;
        }
        if (get(key) == null) {
            mLruCache.put(key, lyric);
        }
    }

    public void remove(final String key) {
        if (mLruCache != null) {
            mLruCache.remove(key);
        }
    }

    public void clearMemCache() {
        if (mLruCache != null) {
            mLruCache.evictAll();
        }
        System.gc();
    }
}




Java Source Code List

cn.zhaiyifan.lyrichere.ApplicationTest.java
cn.zhaiyifan.lyrichere.Constants.java
cn.zhaiyifan.lyrichere.MusicBroadcastReceiver.java
cn.zhaiyifan.lyrichere.adapters.LyricCursorAdapter.java
cn.zhaiyifan.lyrichere.db.DbHelper.java
cn.zhaiyifan.lyrichere.db.LyricContentProvider.java
cn.zhaiyifan.lyrichere.model.Lyric.java
cn.zhaiyifan.lyrichere.prefs.SettingsActivity.java
cn.zhaiyifan.lyrichere.prefs.SettingsFragment.java
cn.zhaiyifan.lyrichere.prefs.colorpicker.AlphaPatternDrawable.java
cn.zhaiyifan.lyrichere.prefs.colorpicker.ColorPickerDialog.java
cn.zhaiyifan.lyrichere.prefs.colorpicker.ColorPickerPanelView.java
cn.zhaiyifan.lyrichere.prefs.colorpicker.ColorPickerPreference.java
cn.zhaiyifan.lyrichere.prefs.colorpicker.ColorPickerView.java
cn.zhaiyifan.lyrichere.prefs.colorpicker.Test.java
cn.zhaiyifan.lyrichere.ui.AboutActivity.java
cn.zhaiyifan.lyrichere.ui.DownloadFragment.java
cn.zhaiyifan.lyrichere.ui.ListScrollTextView.java
cn.zhaiyifan.lyrichere.ui.LyricExplorerActivity.java
cn.zhaiyifan.lyrichere.ui.LyricExplorerFragment.java
cn.zhaiyifan.lyrichere.ui.LyricPlayerActivity.java
cn.zhaiyifan.lyrichere.ui.LyricPlayerFragment.java
cn.zhaiyifan.lyrichere.ui.LyricSearchView.java
cn.zhaiyifan.lyrichere.ui.LyricView.java
cn.zhaiyifan.lyrichere.utils.DbUtils.java
cn.zhaiyifan.lyrichere.utils.FileUtils.java
cn.zhaiyifan.lyrichere.utils.LyricCache.java
cn.zhaiyifan.lyrichere.utils.LyricProvider.java
cn.zhaiyifan.lyrichere.utils.LyricUtils.java
cn.zhaiyifan.lyrichere.utils.Util.java
cn.zhaiyifan.lyrichere.workers.Finder.java
cn.zhaiyifan.lyrichere.workers.LyricEncodingUpdater.java
cn.zhaiyifan.lyrichere.workers.LyricLastVisitUpdater.java
cn.zhaiyifan.lyrichere.workers.LyricOpener.java