aboutsummaryrefslogtreecommitdiff
path: root/samples/flickr
diff options
context:
space:
mode:
authorSam Judd <judds@google.com>2014-09-21 12:57:36 -0700
committerSam Judd <judds@google.com>2014-09-25 08:09:00 -0700
commit5207906814e7f5983ce16db79affba28e5651d2e (patch)
tree834c745f5ab4f3a463309ae23028d160bf7109d3 /samples/flickr
parent98389d828138621d8de3fcf2d819b5a0ae6dc283 (diff)
downloadglide-5207906814e7f5983ce16db79affba28e5651d2e.tar.gz
Add a basic pre-filling api.
Diffstat (limited to 'samples/flickr')
-rw-r--r--samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrSearchActivity.java19
1 files changed, 19 insertions, 0 deletions
diff --git a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrSearchActivity.java b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrSearchActivity.java
index 37e3dfbc..ad1738f6 100644
--- a/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrSearchActivity.java
+++ b/samples/flickr/src/main/java/com/bumptech/glide/samples/flickr/FlickrSearchActivity.java
@@ -2,6 +2,7 @@ package com.bumptech.glide.samples.flickr;
import android.annotation.TargetApi;
import android.content.Context;
+import android.content.res.Resources;
import android.os.Build;
import android.os.Bundle;
import android.os.Handler;
@@ -25,6 +26,7 @@ import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import com.bumptech.glide.Glide;
+import com.bumptech.glide.load.engine.prefill.PreFillBitmapAttribute;
import com.bumptech.glide.request.FutureTarget;
import com.bumptech.glide.samples.flickr.api.Api;
import com.bumptech.glide.samples.flickr.api.Photo;
@@ -154,6 +156,23 @@ public class FlickrSearchActivity extends ActionBarActivity {
executeSearch(savedSearchString);
}
}
+
+ final Resources res = getResources();
+ int smallGridSize = res.getDimensionPixelSize(R.dimen.small_photo_side);
+ int mediumGridSize = res.getDimensionPixelSize(R.dimen.medium_photo_side);
+ int listHeightSize = res.getDimensionPixelSize(R.dimen.flickr_list_item_height);
+ int screenWidth = getScreenWidth();
+
+ // Weight values determined experimentally by measuring the number of incurred GCs while scrolling through
+ // the various photo grids/lists.
+ Glide.get(this).preFillBitmapPool(
+ new PreFillBitmapAttribute(smallGridSize, smallGridSize, 1),
+ new PreFillBitmapAttribute(mediumGridSize, mediumGridSize, 1),
+ new PreFillBitmapAttribute(screenWidth / 2, listHeightSize, 6));
+ }
+
+ private int getScreenWidth() {
+ return getResources().getDisplayMetrics().widthPixels;
}
@Override