SimpleTarget

abstract class SimpleTarget<Z> : BaseTarget<Z>

A simple com.bumptech.glide.request.target.Target base class with default (usually no-op) implementations of non essential methods that allows the caller to specify an exact width/height. Typically use cases look something like this:


Target<Bitmap> target =
    Glide.with(fragment)
      .asBitmap()
      .load("http://somefakeurl.com/fakeImage.jpeg")
      .apply(fitCenterTransform())
      .into(new SimpleTarget<Bitmap>(250, 250) {

        {@Override}
        public void onResourceReady(Bitmap resource, Transition<? super Bitmap> transition) {
          // Do something with bitmap here.
        }

      });
// At some later point, clear the Target to release the resources, prevent load queues from // blowing out proportion, and to improve load times for future requests: Glide.with(fragment).clear(target); }

Warning! this class is extremely prone to mis-use. Use SimpleTarget only as a last resort. ViewTarget or a subclass of ViewTarget is almost always a better choice.

Don't forget to clear instances of this class!. If you must use this class, keep in mind that unlike ViewTarget it is not safe to load into new instances of this class repeatedly if every instance updates the same underlying View or caller. If you need to load into the same View or caller repeatedly using this class, always retain a reference to the previous instance and either call clear on the old instance before starting a new load or you must re-use the old instance for the new load. Glide's into method returns the instance you provided to make retaining a reference to the Target as easy as possible. That said, you must wait until you're completely finished with the resource before calling clear and you should always null out references to any loaded resources in onLoadCleared.

Always try to provide a size when using this class. Use SimpleTarget whenever possible with values that are notSIZE_ORIGINAL. Using SIZE_ORIGINAL is unsafe if you're loading large images or are running your application on older or memory constrained devices because it can cause Glide to load very large images into memory. In some cases those images may throw OutOfMemoryError and in others they may exceed the texture limit for the device, which will prevent them from being rendered. Providing a valid size allows Glide to downsample large images, which can avoid issues with texture size or memory limitations. You don't have to worry about providing a size in most cases if you use ViewTarget so prefer ViewTarget over this class whenver possible.

Deprecated

Use CustomViewTarget if loading the content into a view, the download API if in the background (http://bumptech.github.io/glide/doc/getting-started.html#background-threads), or a for any specialized use-cases. Using SimpleTarget or BaseTarget is unsafe if the user does not implement onLoadCleared, resulting in recycled bitmaps being referenced from the UI and hard to root-cause crashes.

See also

<a href="http://bumptech.github.io/glide/doc/targets.html">Glide's Target docs page</a>

Parameters

<Z>

The type of resource that this target will receive.

Constructors

Link copied to clipboard
open fun SimpleTarget()
Constructor for the target that uses SIZE_ORIGINAL as the target width and height.
Link copied to clipboard
open fun SimpleTarget(width: Int, height: Int)
Constructor for the target that takes the desired dimensions of the decoded and/or transformed resource.

Functions

Link copied to clipboard
fun getSize(cb: SizeReadyCallback)
Immediately calls the given callback with the sizes given in the constructor.
Link copied to clipboard
open fun onDestroy()
Callback for when onDestroy} or onDestroy is called.
Link copied to clipboard
open fun onLoadCleared(placeholder: Drawable)
A mandatory lifecycle callback that is called when a load is cancelled and its resources are freed.
Link copied to clipboard
open fun onLoadFailed(errorDrawable: Drawable)
A mandatory lifecycle callback that is called when a load fails.
Link copied to clipboard
open fun onLoadStarted(placeholder: Drawable)
A lifecycle callback that is called when a load is started.
Link copied to clipboard
abstract fun onResourceReady(resource: R, transition: Transition<out Any>)
The method that will be called when the resource load has finished.
Link copied to clipboard
open fun onStart()
Callback for when onStart} or onStart is called.
Link copied to clipboard
open fun onStop()
Callback for when onStop} or onStop} is called.
Link copied to clipboard
open fun removeCallback(cb: SizeReadyCallback)
Removes the given callback from the pending set if it's still retained.

Properties

Link copied to clipboard
open var request: Request
Link copied to clipboard
val SIZE_ORIGINAL: Int
Indicates that we want the resource in its original unmodified width and/or height.