Android Open Source - android-movies-demo Bitmap Cache






From Project

Back to project page android-movies-demo.

License

The source code is released under:

MIT License

If you think the Android project android-movies-demo 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 com.idunnolol.moviesdemo.util;
/*from   w w w . ja v  a  2s  .c  om*/
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import android.util.LruCache;


public class BitmapCache {

  private static Context sAppContext;

  private static LruCache<Integer, Bitmap> sCache;

  private static final int SCALE = 1024; // Measure everything in KB

  public static void init(Context context) {
    sAppContext = context.getApplicationContext();

    // Use 1/4th of the available memory for this memory cache.
    final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / SCALE);
    final int cacheSize = maxMemory / 4;

    Log.i("MovieDemo", "Creating Bitmap cache size of: " + cacheSize + " (total memory " + maxMemory + ")");

    sCache = new LruCache<Integer, Bitmap>(cacheSize) {
      @Override
      protected int sizeOf(Integer key, Bitmap bitmap) {
        return bitmap.getByteCount() / SCALE;
      }
    };
  }

  public static Bitmap getBitmap(int drawableResId) {
    Bitmap bitmap = sCache.get(drawableResId);
    if (bitmap == null) {
      bitmap = BitmapFactory.decodeResource(sAppContext.getResources(), drawableResId);
      sCache.put(drawableResId, bitmap);
    }
    return bitmap;
  }
}




Java Source Code List

com.idunnolol.moviesdemo.data.Movie.java
com.idunnolol.moviesdemo.ui.AboutDialogFragment.java
com.idunnolol.moviesdemo.ui.MoviesActivity.java
com.idunnolol.moviesdemo.ui.MoviesApplication.java
com.idunnolol.moviesdemo.util.BitmapCache.java
com.idunnolol.moviesdemo.util.FontCache.java
com.idunnolol.moviesdemo.util.ResourceUtils.java
com.idunnolol.moviesdemo.view.CenteringRelativeLayout.java
com.idunnolol.moviesdemo.view.DecorFrameLayout.java
com.idunnolol.moviesdemo.view.MovieRowView.java
com.idunnolol.moviesdemo.view.SlidingListView.java
com.idunnolol.moviesdemo.view.SlidingPairView.java
com.idunnolol.moviesdemo.view.SlidingRevealViewGroup.java
com.idunnolol.moviesdemo.view.ViewPager.java
com.idunnolol.moviesdemo.widget.MovieAdapter.java