Migrate Glide to default to ALWAYS_ARGB_8888

Due to issues where we were seeing Camera builds request 8888 and
not always get it, employ a simple fix to just change Glide defaults
for Android across the board to 8888. The BitmapDecoders are what
really matter for Camera, changing the Builder as well for consistency.

Also added cache debugging lines to Engine to characterize issue.

Bug: 17523927
Change-Id: I10827561d0dbfc9e22365cceee16e030329071ff
(cherry picked from commit 39cf2a57e54423787928bd310ebf9aed2f274f15)
4 files changed
tree: f79e05c61c198dadeee34056b9bc8ed6c17247a7
  1. gradle/
  2. install_maven_dependencies/
  3. library/
  4. third_party/
  5. .gitignore
  6. .travis.yml
  7. Android.mk
  8. build.gradle
  9. gradle.properties
  10. gradlew
  11. gradlew.bat
  12. LICENSE
  13. pom.xml
  14. README.md
  15. settings.gradle
README.md

Glide

Glide is fast and efficient image loading library for Android that wraps image downloading, resizing, memory and disk caching, and bitmap recycling into one simple and easy to use interface. By default, Glide includes an implementation for fetching images over http based on Google's Volley project for fast, parallelized network operations on Android.

Glide's primary focus is on making scrolling any kind of a list of images as smooth and fast as possible, but Glide is also effective for almost any case where you need to fetch, resize, and display a remote image.

How do I use Glide?

You can download a .jar from GitHub's release page for the Glide project. The wiki also has pages on a variety of topics and the javadocs for version 2.0+ will also be available via a link there as well.

Simple use cases will look something like this:


//For a simple view: @Override public void onCreate(Bundle savedInstanceState) { ... ImageView imageView = (ImageView) findViewById(R.id.my_image_view); Glide.load("http://goo.gl/h8qOq7").into(imageView); } //For a list: @Override public View getView(int position, View recycled, ViewGroup container) { final ImageView myImageView; if (recycled == null) { myImageView = (ImageView) inflater.inflate(R.layout.my_image_view, container, false); } else { myImageView = (ImageView) recycled; } String url = myUrls.get(position); Glide.load(url) .centerCrop() .placeholder(R.drawable.loading_spinner) .animate(R.anim.fade_in) .into(myImageView); return myImageView; }

Status

Glide has been in use at Bump for about six months in two of our Android apps at version 1.0. Version 2.0 is the first public release with a stable api. Comments/bugs/questions/pull requests welcome!

Build

Building Glide with gradle is fairly straight forward:

cd glide/library
./gradlew build

Note: Make sure your Android SDK has the Android Support Repository installed, and that your $ANDROID_HOME environment variable is pointing at the SDK.

Thanks

Thanks to the Android project and Jake Wharton for the disk cache implementation included with Glide. Thanks also to the Android team for Volley.

Author

Sam Judd - @samajudd